Commit graph

107 commits

Author SHA1 Message Date
Jeldrik Hanschke
1072953cd4
refactor poll creation to not rely on Ember Data model (#710) 2023-10-28 17:50:17 +02:00
Jeldrik Hanschke
8a4954f4e8
drop support for polls created with Croodle <= 0.3.x (#709) 2023-10-27 20:40:18 +02:00
Jeldrik Hanschke
748b17e0ea
answers could be derived from answerType (#704)
* answers could be derived from answerType

* improve readability of API test data

* update API tests for removed answers property
2023-10-23 17:33:25 +02:00
Jeldrik Hanschke
3a23719127
do not rely on Array prototype extensions (#692)
* Array.any() relies on prototype extensions

* remove remaining usage of array prototype extensions
2023-10-18 14:52:57 +02:00
renovate[bot]
98ff62af80
Update dependency prettier to v3 (#668)
* Update dependency prettier to v3

* upgrade eslint-plugin-prettier and run prettier on all files

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jeldrik Hanschke <admin@jhanschke.de>
2023-10-17 10:44:45 +02:00
renovate[bot]
831ed35136
Update dependency ember-cli-page-object to v2 (#673)
* Update dependency ember-cli-page-object to v2

* upgrade to new APIs

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jeldrik Hanschke <admin@jhanschke.de>
2023-10-16 00:07:22 +02:00
Jeldrik Hanschke
0f94d81ad4
fix ember-cli-page-object deprecations (#674)
* fix ember-cli-page-object deprecations

* make linter happy
2023-10-15 23:26:18 +02:00
Jeldrik Hanschke
871e970ba0
may not be the same day depending on current time and timezone if using UTC time (#675) 2023-10-15 23:20:53 +02:00
Jeldrik Hanschke
02058ab756
upgrade to Ember 3.28 blueprints (#647) 2023-10-15 20:37:03 +02:00
Jeldrik Hanschke
857f2baa16
simplify form validation and drop ember-cp-validations (#631)
* replace ember-cp-validations with custom validation logic for poll creation

* refactor poll participation to not use ember-cp-validations

* drop ember-cp-validations from create.settings route

* remove unused leftovers from ember-cp-validations

* fix potential leak

* assertion thrown in CI tests (Firefox) indicate that listener is cleaned up automatically

* synchronize translations
2023-10-15 15:27:02 +02:00
Jeldrik Hanschke
e984b9012d
fix displaying dates in participants table for polls having dates with times (#625)
* fix: participants table not listing times in header
* fix: participants table shows days in wrong timezone
2023-10-01 16:21:49 +02:00
Jeldrik Hanschke
2a4b1f8b73
Use native browser APIs and Luxon instead of Moment (#612) 2023-09-21 12:30:14 +02:00
Jeldrik Hanschke
88089df7c0
Safari parses date-time strings without explicit time zone as UTC (#364)
Safari does not follow ES5 / ECMAScript 2015 date parsing rules. Per spec a date that has day + time but does not have an explicit time zone (e.g. "2019-01-01T00:00") should be parsed in local time. But Safari treats that one as UTC.
2020-01-31 21:45:58 +01:00
Jeldrik Hanschke
8a62662e6e
migrate from ember-i18n to ember-intl (#358)
* mark string as html safe before passing to translation instead of bypassing HTML escape using {{{unsafe}}} syntax
* replace ember-i18n with ember-intl
2020-01-30 00:23:12 +01:00
Jeldrik Hanschke
5e5dbe84db test should not depend on time zone
This hopefully fixes the flickering tests in Safari.
2020-01-03 14:25:37 +01:00
Jeldrik Hanschke
d9b1bf7b5a
Improve test coverage for validation on participation form (#308)
* add tests that participation form is validated
* assert that first invalid form element is focused on invalid submission attempt
2019-11-20 14:52:23 +01:00
renovate[bot]
2dc5c22409 Update dependency ember-bootstrap to v3 (#255) 2019-11-14 21:18:52 +01:00
Jeldrik Hanschke
4e6d046ec7
add abort button to retry save modal and several other fixes for it (#291)
Croodle shows a modal if saving a participation fails. The modal allows
a user to retry the save attempt. While it was always possible to close
the button by clicking on backdrop or using escape key, a button to do so
was missing. A user may not know about the user ways and may see reloading
the page as only possibilty to close the modal if he doesn't want to retry
again.

This adds the missing abort button and fixes some smaller bugs including:

- The modal was missing a title.
- If the modal was closed once it wasn't reopened on another failed saving
  attemp unless the user has visit another page in between.
- Several arguments were passed to <BsModal> that weren't existing at all.
2019-11-10 10:25:51 +01:00
Jeldrik Hanschke
41ddafdb72
fix failing test due to unexpected version format (#271) 2019-10-31 07:43:22 +01:00
jelhan
65063c71ce
validation error is flashing up for name input while saving participation (#219) 2019-06-14 23:58:53 +02:00
jelhan
7688d468e4
improve form buttons (#211)
* Adds a loading spinner to form buttons as long as submission is pending.
* Does some refactoring of form navigation buttons.
* Updates expected bundle size.
2019-06-12 09:07:48 +02:00
jelhan
7233f12ee1
refactor setupMirage import after upgrade of ember-cli-mirage (#193)
Recommended import path was changed in v1.0.0-beta.2:
https://github.com/samselikoff/ember-cli-mirage/releases/tag/v1.0.0-beta.2
2019-05-21 13:53:49 +02:00
jelhan
17cfb4ab6d
Meaningful error pages (#177)
Adds meaningful error pages if
- poll does not exist
- encryption key is wrong.
2019-04-23 17:37:42 +02:00
jelhan
bb160cc503
refactor participants table (#164)
- Drops floatthead and additional scrollbar
- Makes header and first column sticky
- Refactors code for readability

Sticky header is only working in Firefox. Chrome and Edge does not support `position: sticky` for `<thead>`. Haven't tested Safari.
2019-04-20 23:29:59 +02:00
jelhan
6c122148c3
fix: test must not trigger confirmation in IE 11 (#174)
Use test helpers provided by ember-cli-clipboard as they do not trigger confirmation in IE 11. Upgrades ember-cli-clipboard to latest version as the outdated version used before does not include these test helpers yet.

Also refactors test execution against BrowserStack to only run tests one by one. Not quite sure why but that fixes the IE 11 issue. Need to investigate later as that one slows down tests by requiring two additional builds.
2019-03-16 11:26:39 +01:00
jelhan
b8c02ca579
Replace SauceLabs with BrowserStack (#171) 2019-03-14 21:30:48 +01:00
Jeldrik Hanschke
480ceb5e08 provide Content-Security-Policy by meta tag
Having both a Content-Security-Policy (CSP) in meta tag and per header
works fine together. They are merged and the strongest one is applied.
It makes Croodle safer for all users even if the hoster does not apply CSP
for some reason (e.g. they can't set custom headers).

It's still a good idea to recommend using a CSP header cause that ones
are applied earlier - even so this shouldn't be a problem cause we ensure
that CSP meta tag is present before any other link, style or script element.
2019-02-23 23:56:49 +01:00
Jeldrik Hanschke
06a92b947f refactor: replace bootstrap-datepicker by ember-power-calendar
Also renders two linked calendars if there is enough space.

Closes #143
2019-01-20 17:08:16 +01:00
Jeldrik Hanschke
5b34199f41 refactor: drop jQuery from tests except for jQuery plugin bootstrap-datepicker 2019-01-18 20:42:21 +01:00
Jeldrik Hanschke
bcd4bc7ac6 upgrade to ember 3.4 2018-12-31 10:17:03 +01:00
Jeldrik Hanschke
11265cb82d deps: upgrade ember to 2.18 2018-12-29 20:23:19 +01:00
Jeldrik Hanschke
97e447bbe7 deps: yarn upgrade 2018-12-29 20:23:19 +01:00
jelhan
ee8c64e031 show expiration date and warn if poll will expire in next days (#140)
Closes #121
2017-08-26 02:14:09 +02:00
jelhan
ee6728314a replace jstimezonedetect by moment.tz.guess() (#139)
Closes #118
2017-08-26 01:54:41 +02:00
jelhan
64a9dea5e7 refactor dates handling (#137)
* Remove dates ArrayProxy.
* Use moment template helpers.
* Pass timezone and locale directly to moment template helper to avoid issues.
2017-08-11 16:39:36 +02:00
jelhan
5575629fb6 Legacy support is an acceptance test atleast since it's using a mocked api. 2017-08-01 16:23:35 +02:00
jelhan
87ad9b0506 use ember-cli-mirage to mock api 2017-08-01 09:49:02 +02:00
jelhan
632c36eb12 updates dependencies and fixes property modified twice in a single render deprecations 2017-08-01 09:48:48 +02:00
jelhan
364147f4b6 fix build issue by updating ember-moment 2017-07-25 17:17:39 +02:00
jelhan
ed5e5f84c5 Fix tests after d5705b2c3b 2016-08-30 11:54:33 +02:00
jelhan
9b221e7861 add a test for saving a new poll fails due to server 2016-08-26 19:04:50 +02:00
jelhan
6852d6ce27 more suitable page object action for save 2016-08-26 18:29:02 +02:00
jelhan
0e446c19fe add tests for autofocus first form element
introduced by last commit (545f3b0664)
2016-08-26 01:30:46 +02:00
jelhan
e735587c93 update floatThead and drop CSP unsafe-inline requirement
Closes #90
2016-08-23 11:43:58 +02:00
jelhan
94b4dc6f82 use localStorage instead of cookie to save locale setting
there is no need to tell the server which locale is prefered by client
2016-08-21 14:31:39 +02:00
jelhan
d8db29ecd9 adds back button to create wizard
Part of #76
2016-08-21 00:38:44 +02:00
jelhan
5613dfdd43 add button for copying poll link
closes #95
2016-08-20 22:02:53 +02:00
jelhan
c4a1b99c75 enforce wizzard start at first step 2016-08-18 01:09:58 +02:00
jelhan
3d251bc9fb provide status bar to indicate steps of poll creation wizard
part of #76
2016-08-14 22:57:10 +02:00
jelhan
3cb05ca5b3 adds test that user is notified if poll can't be saved
related to #78
2016-08-12 13:00:18 +02:00