Commit graph

5012 commits

Author SHA1 Message Date
Paul Chavard
e9f993fe0c [GraphQL]: normalize date names in French 2019-11-27 12:23:00 +01:00
Pierre de La Morinerie
52051914aa editor: disable the "Add champ" button until the champ is saved
Otherwise some champs are created before the previous one has been
saved, and React complains that several champs have the same
`champ-undefined` key.

(Plus it made the tests flaky and unreliable.)
2019-11-27 11:58:46 +01:00
Pierre de La Morinerie
7ed649dfca editor: don't create a champ by default
Before the editor attempted to create a default champ as soon as the
list became empty.

This created many race conditions, which made the tests flaky.

Remove this behavior, and add an empty label instead.
2019-11-27 11:58:45 +01:00
Pierre de La Morinerie
f58f9f9950 dossiers: render a valid response after an autosave
This helps Firefox DevTools to mark the request as valid and completed
successfuly.
2019-11-27 10:37:33 +00:00
Pierre de La Morinerie
30b822b135 dossiers: don't trigger an autosave when an attachment is modified
The draft autosave should not be triggered when attaching a file
(as file inputs are handled separately).
2019-11-27 10:37:33 +00:00
Pierre de La Morinerie
c6eab70679 dossiers: autosave shouldn't send files being uploaded
When a file is being uploaded asynchronosely, hidden input fields
are created by DirectUpload to contain the result of the upload.

However, before the upload finishes, the value of these inputs is not
meaningful. Moreover, it makes the ActiveRecord signature invalid – thus
preventing drafts from being saved.

Exclude these fields from the auto-save.
2019-11-27 10:37:33 +00:00
Pierre de La Morinerie
64d96646a3 javascript: autosave with explicit cookies settings
Older browsers implemented a different default value for `window.fetch`
credentials: it was omitted unless explicitely set.

So we force the value for these older browsers:

- Firefox 39-60
- Chrome 42-67
- Safari 10.1-11.1.2

See https://github.com/github/fetch#sending-cookies
2019-11-27 10:37:33 +00:00
Pierre de La Morinerie
2309017727 javascript: add a window.fetch polyfill
This allows the autosave to work on browsers that don't support fetch:

- IE 11
- Edge < 14
- Safari < 11
2019-11-27 10:37:33 +00:00
maatinito
9de9a1fd71 Use time.zone functions instead of server time functions
(Time.zone.today vs Date.today)
2019-11-26 14:26:36 +01:00
maatinito
14bc2b99b9 auto-archive badly occurs in UTC time and not in local time (1 hour too late in France, 10 hours before in Tahiti ;-) 2019-11-25 14:39:42 +01:00
Pierre de La Morinerie
c2c332244e manager: fix Instructeur and Administrateur email
Use the email attribute on the User (rather than the deprecated email
column on Instructeur or Administrateur).

Fix #4565
2019-11-25 13:01:22 +01:00
clemkeirua
9503a363e5 4378 Ajout des PJ de la messagerie dans le zip des PJs du dossier 2019-11-25 10:36:32 +01:00
Pierre de La Morinerie
b78134c691 specs: make the routing feature test more robust
- Use human-readable form labels
- Always wait for the result of the previous action to be loaded before
  starting another action
2019-11-21 18:29:45 +01:00
simon lehericey
054181a16f Champ Repetition has no label, thus it's displayed as a section 2019-11-21 15:34:59 +01:00
simon lehericey
2162522814 ul should have li childs 2019-11-21 15:34:59 +01:00
simon lehericey
bc85e9b7ec Use aria-describedby to link notice and input again
https://www.w3.org/WAI/tutorials/forms/instructions/#using-aria-describedby
2019-11-21 15:34:59 +01:00
simon lehericey
84b125d272 p cannot be included in label
The main problem come from
%label{for: input_id}
  #{champ.libelle}
  %span.notice= string_to_html(champ.description)
%input

where string_to_html contains p tags

The proposed solution is
%label #{champ.libelle}
%p.notice
%input

It should be iso in the graphic sense.
2019-11-21 15:34:59 +01:00
simon lehericey
d5da7916e5 Placeholder not allowed in date input 2019-11-21 15:34:59 +01:00
simon lehericey
f45ede7f44 href should not contain space 2019-11-21 15:34:59 +01:00
clemkeirua
f2c69400aa add rescue_from to UserDeviseMailer 2019-11-21 14:59:30 +01:00
Pierre de La Morinerie
6de5c0c9d1 autosave: make requests time out
This avoids recent requests being stuck because an older request never
finished.
2019-11-21 14:00:06 +01:00
Pierre de La Morinerie
68f5aae99d autosave: add feature test 2019-11-21 14:00:06 +01:00
Pierre de La Morinerie
bff7892ba8 dossiers: autosave drafts 2019-11-21 14:00:06 +01:00
Paul Chavard
0c6705f7fd Drop old export service 2019-11-21 10:25:40 +01:00
clemkeirua
be7fde1103 fix UnknownFormat raised in Instructeurs::ProceduresController#download_export 2019-11-21 09:52:38 +01:00
Pierre de La Morinerie
74a9db6580 javascript: make utils resilient to missing elements 2019-11-20 17:36:09 +01:00
Christophe Robillard
b42f21264e permet le suivi auto après envoi instructeur
Close #4163
2019-11-20 16:41:30 +01:00
Pierre de La Morinerie
5f9a9d059e dossiers: render JSON if needed
When receiving a request that expects JSON, return a simple '200'.

This avoids the unecessary work of rendering all the HTML page (which
ultimately will not be used).
2019-11-20 11:30:27 +01:00
Pierre de La Morinerie
8b8a96abda dossiers: save draft by default (instead of submitting)
Make the default behavior of `update_brouillon` be to update the draft,
instead of submitting the dossier.

This makes all requests made to `update_brouillon` without specifying
an extra `submit_draft` parameter to just save the draft. It will make
autosaving the draft easier and safer.
2019-11-20 11:24:31 +01:00
Pierre de La Morinerie
03a7bc3d5a dossiers: give the edit form an unique id 2019-11-20 11:24:31 +01:00
Pierre de La Morinerie
b90cd9f28f styles: fix hover on dropdown items
More specifically, fix items in the Help dropdown displaying a pointer
cursor on the whole area – where only the links inside the item should
have the hover cursor.

Also, having a `cursor: pointer` rule applied only on hover state is
difficult to debug: better to apply it always, and let the browser
handle it.
2019-11-20 10:48:53 +01:00
simon lehericey
59d5cd7abc fix label > div by label > span 2019-11-19 15:14:06 +01:00
simon lehericey
45ff1fd697 Change span by div to fix Element p not allowed as child of element span 2019-11-19 15:14:06 +01:00
simon lehericey
4a5059ed34 Add alt='' to decorative image https://www.w3.org/WAI/tutorials/images/decorative/ 2019-11-19 15:14:06 +01:00
simon lehericey
0e6ffd0baa Fix table layout: tbody was wrapped in thead 2019-11-19 15:14:06 +01:00
simon lehericey
279696451e Fix html: Element div not allowed as child of element span 2019-11-19 15:14:06 +01:00
simon lehericey
59432594a0 Header: same outline for the search button 2019-11-19 15:14:06 +01:00
simon lehericey
9f6b9c5028 Make the help button accessible for keyboard 2019-11-19 15:14:06 +01:00
simon lehericey
0a3a47339c Add title to print button 2019-11-19 15:14:06 +01:00
simon lehericey
41445564b4 Remove unused .header-help div 2019-11-19 15:14:06 +01:00
simon lehericey
fa808c8010 Make login w3c compatible again 2019-11-19 15:14:06 +01:00
simon lehericey
dae7a3bfd0 [fix #4529] Log user email in manager space 2019-11-19 12:15:03 +01:00
Paul Chavard
e600aceccc [GraphQL]: add dossier state change mutations 2019-11-19 11:51:34 +01:00
simon lehericey
3217f18a0b Simple wording 2019-11-18 17:08:51 +01:00
simon lehericey
874439580b Pluralize some texts 2019-11-18 17:08:51 +01:00
simon lehericey
67495e9662 Add person icon to table 2019-11-18 17:08:51 +01:00
simon lehericey
9ca026a630 Use a select2 box for looking to instructeurs 2019-11-18 17:08:51 +01:00
benjaminhenkel
2f6b1fa302 Maj message quand messagerie désactivée 2019-11-18 14:28:05 +01:00
simon lehericey
efd35a3de7 Accessibility: outline links to ease keyboard navigation 2019-11-14 09:50:04 +01:00
Paul Chavard
ba03dbf8dd [GraphQL] Add dossierEnvoyerMessage mutation 2019-11-13 19:54:27 +01:00