Commit Graph

16282 Commits

Author SHA1 Message Date
Javi Martín
49c22b880c Use CSS to style the search component
We simplify the view, and so make it easier to customize.
2020-12-04 19:57:05 +01:00
Javi Martín
b453ed6c14 Add ARIA role and ARIA label to admin search form
This way screen reader users will have an easier access to it.
2020-12-04 19:57:05 +01:00
Javi Martín
155da08cf0 Use a generic name for the search parameter
This way we can use it for any model.
2020-12-04 19:57:05 +01:00
Javi Martín
9a24a8efe2 Use form_tag in search form
This form does not depend on an object at all, so we can use a generic
tag which is model-independent.
2020-12-04 19:57:05 +01:00
Javi Martín
2cf49b28de Extract users search view to a component
We're going to make this search component more generic, but for now,
we're keeping the exact same behavior we had.
2020-12-04 19:57:05 +01:00
taitus
7b6294199c Include the searched term in the search input form 2020-12-04 19:57:05 +01:00
Javi Martín
427dec8cbd Merge pull request #4262 from consul/sdg_tags
Add SDG relations
2020-12-04 18:49:31 +01:00
Javi Martín
c0edd1b227 Allow SDGs to get all their related contents
Note we cannot directly get all related contents through SQL because
related contents are spread through different tables.
2020-12-04 18:27:49 +01:00
Javi Martín
42699275a1 Add relations between relatable models and SDGs
Note we cannot directly get all related SDGs through SQL because they're
spread through different tables.
2020-12-04 18:27:49 +01:00
Javi Martín
1740e0ba66 Add SDG::Relation model 2020-12-04 18:27:49 +01:00
Javi Martín
ebcd64ad1a Merge pull request #4260 from consul/sdg_targets
Add SDG targets
2020-12-04 16:40:20 +01:00
Senén Rodero Rodríguez
e9d52b5e11 Add subnavigation component to targets and goals
Add a new SDG component to make easier to create subnavigation menus.

Co-Authored-By: Javi Martín <35156+javierm@users.noreply.github.com>
2020-12-04 15:15:32 +01:00
Senén Rodero Rodríguez
7fb3f1920e Add targets index to the administration
Co-authored-by: Javi Martín <javim@elretirao.net>
2020-12-04 15:15:32 +01:00
Senén Rodero Rodríguez
00e91c40b9 Add SDG targets to seeds
Co-authored-by: Javi Martín <javim@elretirao.net>
2020-12-04 15:15:32 +01:00
Senén Rodero Rodríguez
c39c7213c7 Add SDG target model
and its relation with the SDG goal model.

Add comparable module be able to sort collections of targets
by code attribute.

Co-Authored-By: Javi Martín <35156+javierm@users.noreply.github.com>
2020-12-04 15:15:32 +01:00
Javi Martín
550f2ed319 Merge pull request #4251 from consul/add-global-sdg-setting
Add global SDG feature setting
2020-12-03 18:49:58 +01:00
taitus
64a8ceaa9b Enable sdg feature settings by default on dev_seeds 2020-12-03 18:26:00 +01:00
taitus
cb63185837 Render SDG content sidebar when sdg feature setting is enabled 2020-12-03 18:26:00 +01:00
taitus
72e64bd543 Render 'how to enable' when the related feature setting is disabled
Add 'how to enable' information on SDG configuration tab when related
sdg feature setting is disabled.
2020-12-03 18:26:00 +01:00
taitus
676adfcb3f Add new SDG feature Setting 2020-12-03 18:26:00 +01:00
Javi Martín
1d5cbece6c Merge pull request #4247 from consul/add-sdg-settings
Add SDG settings
2020-12-03 18:25:36 +01:00
taitus
bf4c2680c4 Enable sdg settings by default on dev_seeds 2020-12-03 18:00:10 +01:00
taitus
0abc82d520 Add new sdg settings on sdg-tab 2020-12-03 18:00:10 +01:00
taitus
5e19f60ba6 Add new sdg-tab on Global Configuration Settings 2020-12-03 18:00:10 +01:00
taitus
79cb78880a Add default values for new sdg settings 2020-12-03 18:00:10 +01:00
taitus
609e51bbf3 Include new type 'sdg' on settings 2020-12-03 18:00:10 +01:00
Javi Martín
a03eed801a Merge pull request #4252 from consul/sdg_goals_yaml
Add Sustainable Development Goals section
2020-12-03 17:58:58 +01:00
Javi Martín
22f5042292 Merge pull request #4263 from consul/admin_tests
Simplify tests requiring admin login
2020-12-02 15:49:38 +01:00
Javi Martín
3da4ee00b8 Simplify tests requiring admin login
We were repeating the same code over and over (with a few variants) to
setup tests which require an administrator. We can use a tag and
simplify the code.
2020-12-02 15:33:19 +01:00
Javi Martín
a0f7bf2b1f Merge pull request #4234 from consul/remove_unused_capistrano_variables
Remove unused deployment configuration variables
2020-12-02 13:03:28 +01:00
Javi Martín
d5ee1ff89c Add method to easily access a goal by code
Similar to what we do with settings, only for settings we return the
value of the setting (which is what we're going to need most of the
time), and here we return the object.
2020-12-02 12:59:17 +01:00
Senén Rodero Rodríguez
c7c8309ad1 Add rake task to load sdg
This task should be useful for existing installations that are going
to upgrade the app and want to load SDG data into an already
existing database.
2020-12-02 12:38:03 +01:00
Senén Rodero Rodríguez
cbe84450ac Add Goals seeds and translations
Extracted from the official United Nations Sustainable Development
Goals website [1].

[1] https://www.un.org/sustainabledevelopment/sustainable-development-goals/
2020-12-02 12:38:03 +01:00
Javi Martín
cb78a254f4 Extract method to provide a title for SDG pages
This way we'll avoid the duplication that can be found in the admin
section.
2020-12-02 12:38:03 +01:00
Javi Martín
a42cb050a7 Add SDG content section 2020-12-02 12:38:03 +01:00
Javi Martín
2b6c9914dd Extract selector for admin menu icon
This way we'll be able to apply it to the SDG icon, which is not
included in font-awesome.

Note we're adding a font-icon selector so it's defined before the
admin-menu-icon selector and so in case of conflicting rules the ones in
the admin-menu-icon selector are used.
2020-12-02 12:37:28 +01:00
Javi Martín
428644cd3e Add SDG goal model
Since data for this model (title and description) is not generated in
CONSUL but by the United Nations, we aren't storing it in the database
but in our YAML translation files.

The reasoning is as follows. Suppose that, a few months after CONSUL
gets SDG support, a new language is added to CONSUL.

With YAML files, getting the texts in the new language would mean
updating CONSUL to include the new language.

But if we store these texts in the database, it means we have to update
the databases of all existing CONSUL installations, either each
installation by themselves (duplicating efforts) or running a rake task
(which we would have to write each time).

So we believe using translations works better in this case.

We're still storing records in the database with the code, so they can
be easily referenced via `has_many` or `has_many :through` associations.
2020-12-02 12:13:02 +01:00
Javi Martín
e19bc594d8 Merge pull request #4274 from consul/admin_menu
Simplify code in the admin menu
2020-12-02 11:20:08 +01:00
Javi Martín
bdf30aa14e Use CSS to display icons in the admin menu
This way we simplify the HTML and generating similar menus will be
easier. We also improve the experience for screen reader users, who
might have been hearing the icons as text because we weren't using the
`aria-hidden` attribute.

We're still keeping the "icon-" classes for compatibility with CONSUL
installations which might have changed this code.
2020-11-27 12:33:42 +01:00
Javi Martín
d99ca9bd34 Use CSS to make items bold in the admin menu
From a semantic point of view, there's no reason to add a strong
emphasis to the menu items.

Besides, using CSS simplifies the code and is less error-prone. For
instance, the "stats" section didn't have a <strong> tag, and so it was
the only one which wasn't bold.
2020-11-26 20:04:08 +01:00
Javi Martín
615bb050e8 Remove unnecessary section-title class
It isn't used anywhere, and we could achieve the same result using the
CSS child selector `> li`.
2020-11-26 20:04:08 +01:00
Javi Martín
e3bca85321 Extract methods in admin menu component
Now that there's no naming confict with the helper method used in the
ProposalsDashboardHelper, we can easily simplify the view, moving the
logic to the Ruby class.
2020-11-26 20:04:08 +01:00
Javi Martín
60b3ca000a Fix typos in admin menu classes
The HTML `class` attribute was declared twice and so the second one was
being ignored.

In the case of messages, it was "working" properly because the
`class=is-active` part is not used on `<li>` tags when they've got a
`<ul>` inside them.
2020-11-26 20:04:08 +01:00
Javi Martín
f9e110aa9b Simplify method names in admin menu component
We no longer need to use the `menu_` prefix, since now these methods
aren't helper methods anymore, and so their names won't collide with
other helpers.
2020-11-26 12:15:07 +01:00
Javi Martín
d501915954 Extract admin menu to a component
This way adding new methods will be easier.
2020-11-26 12:15:07 +01:00
Javi Martín
1fc74e7cfa Merge pull request #4239 from consul/layout
Simplify main layout styles
2020-11-23 18:23:33 +01:00
Javi Martín
bb2e2fa0a3 Move main <h1> tag inside main header
A <header> tag is the natural place to have headings.

Since we already had the logo there, IMHO it makes sense to merge both
the <h1> tag and the logo together. We were already doing so in the
devise layout.

From the sceen reader users' point of view, having a link with the text
"CONSUL logo" is a bit confusing, since it seems to imply the link will
get us to the CONSUL logo. Using the organization name as the text of
the link makes more sense.

One thing changes, though. Before this commit, the first thing on the
page a screen reader user would hear about would be the organization
name. Now the language selector and the top links are announced before
the organization name is read. That's fine, since the actual first thing
these users will hear is the content of the <title> tag, which contains
the organization name as well.
2020-11-23 18:05:43 +01:00
Javi Martín
18813c8f2a Specify styles are meant for the main header
The <header> tag is a standard HTML tag which can be used in any section
of the page. We were adding the main header styles to all <header> tags
because in the past it was in only <header> tag we used.

That's not the case anymore, so instead of overwriting these styles on
every other <header> tag, modifying the rule so it only selects the main
header makes the code easier to maintain.
2020-11-23 18:05:43 +01:00
Javi Martín
d4a360c7fb Simplify main layout styles
We were using a "push" div in order to force the footer to the bottom,
and were using a wrapper with a minimum height and negative margins.

The same thing can be accomplished using flex and making the wrapper
fill the empty space, which in my humble opinion simplifies the code and
makes it easier to follow.

We could further simplify the code by removing the wrapper div or the
footer wrapper, although I'm not sure the benefits overcome potential
inconveniences caused to other institutions who might have custom styles
based on the existence of these wrappers.
2020-11-23 18:04:55 +01:00
Javi Martín
682f374598 Merge pull request #4268 from consul/fix_badge
Fix build status badge
2020-11-23 15:23:48 +01:00