Commit Graph

35 Commits

Author SHA1 Message Date
Javi Martín
0270c4c962 Hide unsaved changes warning after undoing them
This way showing the warning is consistent with warning users when
they're leaving the page.
2020-08-05 14:10:22 +02:00
Javi Martín
cfc60b5de4 Warn for changes just in markdown editor
This is the reason why this feature was implemented in the first
place: it's easy to open the editor, make some changes, close it, and
continue without realizing the changes have not been saved.

In the rest of the forms, this functionality is quite lacking. For
starters, some forms warn if there are unsaved changes, while some forms
don't, which is highly inconsistent and disorients users.

Furthermore, we were having problems with this feature after upgrading
Turbolinks, particularly in forms using CKEditor. In these cases, a lot
of hacking needs to be done in order to make this feature work properly,
since CKEditor adds some formatting automatically, and if this is done
after the form is serialized, we'll get some unexpected behavior. On the
other hand, comparing the value of a textarea against its `defaultValue`
property will work on every edge case, including using the browser's
back button or reloading the page.

Finally, users are used to the way web forms work, and aren't used to be
asked for confirmation when they change their mind and decide to leave
the page without saving the changes. Asking them for confirmation will
be annoying in most cases. Besides that, if they accidentally leave the
page, they can use the browser's back button and they'll recover the
unsaved changes.

It's true this won't happen it they accidentally close the browser's
window, but our WatchFormChanges functionality didn't work in this case
either. Using the "beforeunload" event adds more problems than it
solves, since it doesn't support custom messages (or, to be more
precise, modern browsers ignore custom messages), and it doesn't get
along with turbolinks.

Co-Authored-By: Senén Rodero Rodríguez <senenrodero@gmail.com>
2020-08-05 14:10:22 +02:00
Javi Martín
8ff728ee83 Use the shared partial to render errors
We were using it most of the time, but in some places we still had
duplicated code.
2019-10-25 15:15:47 +02:00
Javi Martín
6b1864fbcd Sanitize translations instead of using _html
Using the `_html` suffix in an i18n key is the same as using `html_safe`
on it, which means that translation could potentially be used for XSS
attacks.
2019-10-09 19:46:47 +02:00
Javi Martín
6fa67b5e53 Use active record translations for labels
This way we can simplify the way we generate form fields. In some cases,
we also use the human attribute in table headers, which IMHO makes
sense.

I haven't moved all of them: for example, sometimes a label is
different depending on whether it's shown to administrators, valuators,
or users. And I haven't touched the ones related to devise, since I
wasn't sure about possible side effects.

Note I've also removed placeholders when they had the same text as their
labels, since they weren't helpful. On the contrary, the added redundant
text to the form, potentially distracting users.
2019-10-07 01:56:23 +02:00
Javi Martín
3ea9f3cecf Simplify generating form fields with labels
Instead of generating the label and then a field without a label, we can
directly generate a field with a label.
2019-10-05 16:01:58 +02:00
Javi Martín
f9ed186909 Add rubocop spacing rules
We were following these rules in most places; we just didn't define them
anywhere.
2019-09-10 21:04:56 +02:00
taitus
a7dcc61ab4 Align admin legislation draft version form fields with new translations interface 2019-07-01 14:49:44 +02:00
Senén Rodero Rodríguez
146c09adb7 Update references to new translation interface 2019-07-01 14:49:43 +02:00
Julian Herrero
7b4b4b716c Use double quotes in app/views/admin/legislation 2019-03-19 12:16:50 +01:00
Javi Martín
21cf39d5ed Fix alignment in last translatable fields
When we grouped the fields together, the last one turned into a
`last-child`, which foundation automatically aligns to the right.

The markdown editor also needed to be tweaked a little bit.
2018-10-22 16:36:17 +02:00
Javi Martín
7479223d59 Wrap translation fields in a div
This way we can show/hide that div when displaying translations, and we
can remove the duplication applying the same logic to the label, the
input, the error and the CKEditor.

This way we also solve the problem of the textarea of the CKEditor
taking space when we switch locales, as well as CKEditor itself taking
space even when not displayed.
2018-10-22 16:36:17 +02:00
Javi Martín
124b8496de Simplify methods defining translation styles
This refactor is going to be useful when we change these rules within
the next few commits.
2018-10-22 16:28:53 +02:00
Javi Martín
6278175f57 Update legislation drafts translatable fields
Updating it required reorganizing the form so translatable fields are
together.

We also needed to add a `hint` option to the form label and input
methods so the hint wouldn't show up for every language.

Finally, the markdown editor needed to use the same globalize attributes
as inputs, labels and hints, which adds a bit of duplication.
2018-10-22 15:44:14 +02:00
Marko Lovic
05bfa193cd Make Legislation Draft Versions translatable 2018-09-19 14:54:24 +02:00
decabeza
f8707a73cd Unifies styles and views for admin legislation processes 2018-07-31 12:50:48 +02:00
decabeza
76b7f66fb3 fixes scss lint warnings 2017-06-16 12:09:01 +02:00
decabeza
02055bd09a hides legislation empty tables, improves table styles 2017-05-24 13:34:37 +02:00
decabeza
28e17b870c unifies styles and html code 2017-05-24 13:03:25 +02:00
decabeza
9be616f62c improves admin legislation forms 2017-05-23 13:54:36 +02:00
Fernando Blat
f7a6f8399b Add pending translations 2017-01-23 14:58:12 +01:00
Martín González
deb9d2a508 Fix typo 2017-01-23 14:25:51 +01:00
Martín González
dca072beaf Hide legislation text when the full-screen editor is not active 2017-01-23 12:55:05 +01:00
Amaia Castro
536784ee04 Merge pull request #72 from medialab-prado/back-improvements
Back improvements
2017-01-19 10:27:12 +01:00
Fernando Blat
6560e77554 Ask for confirmation when changing the page and
the forms watched do have changes
2017-01-18 13:37:11 +01:00
Fernando Blat
1537dd41da Add forms placeholders 2017-01-18 11:46:19 +01:00
Fernando Blat
48764d757c Fix label markup 2017-01-05 10:29:21 +01:00
Amaia Castro
c935373c07 Remove draft version preview buttons from edit form and add link to index 2017-01-04 10:14:58 +01:00
Amaia Castro
5627b18be2 Draft Version page 2017-01-02 18:05:15 +01:00
Amaia Castro
0cd2b62e2c Integrate admin html and css from sandbox 2016-12-30 11:00:34 +01:00
Amaia Castro
d25d6c178c Legislation Questions model and basic admin 2016-12-20 18:52:43 +01:00
Amaia Castro
400b510b71 Store the processed html from the markdown text body field 2016-12-14 11:32:28 +01:00
Amaia Castro
c69f1b3e83 Fullscreen toggle for the markdown editor 2016-12-13 15:29:30 +01:00
Amaia Castro
715d9e5b88 Markdown editor for DraftVersion body 2016-12-12 11:10:10 +01:00
Amaia Castro
e4fe499e66 DraftVersion base model and very basic admin pages 2016-12-06 12:10:20 +01:00