Commit Graph

14280 Commits

Author SHA1 Message Date
Javi Martín
ed99e4db5b Fix share message interpolation variable
The variable `org` was renamed to `handle` in commit b4ecd07f. However,
some languages were still using the old variable name.
2019-09-12 22:15:40 +02:00
DenisNikolski
6f085b5696 add search form on admin booths 2019-09-12 23:02:39 +03:00
Javier Martín
f5fcb9ca06 Merge pull request #3697 from consul/help_wanted
Update README link to PRs welcome
2019-09-12 13:41:58 +02:00
Javi Martín
7e3eb28ce1 Update README link to PRs welcome
GitHub treats help-wanted as a special label, so we're using it instead
of PRs welcome.

I'm still keeping the "PRs welcome" text and icon because it sound less
aggressive than "help wanted".
2019-09-12 13:31:16 +02:00
Javier Martín
f5a6df4316 Merge pull request #3692 from consul/admin-booth-assignments
Hide polls created by users on admin poll booth assigments
2019-09-12 12:54:42 +02:00
Javier Martín
760deb1682 Merge pull request #3613 from consul/dashboard-related-content
Add related content section on proposal dashboard
2019-09-12 12:52:32 +02:00
Javier Martín
26c83febf2 Merge pull request #3612 from consul/selected-proposals
Hide information on selected proposals
2019-09-12 12:52:22 +02:00
decabeza
0ff7a327b7 Refactor selected proposals specs 2019-09-11 22:18:56 +02:00
decabeza
8440208597 Hide comments count on selected proposals 2019-09-11 22:18:43 +02:00
decabeza
1a0f0215a7 Hide related content on selected proposals 2019-09-11 22:18:42 +02:00
decabeza
b15048ec7d Hide proposal code on selected proposals 2019-09-11 22:17:40 +02:00
decabeza
e879fddba4 Hide view mode on selected proposals list 2019-09-11 22:17:40 +02:00
dependabot-preview[bot]
a736252c4b Bump i18n-tasks from 0.9.25 to 0.9.29
Bumps [i18n-tasks](https://github.com/glebm/i18n-tasks) from 0.9.25 to 0.9.29.
- [Release notes](https://github.com/glebm/i18n-tasks/releases)
- [Changelog](https://github.com/glebm/i18n-tasks/blob/master/CHANGES.md)
- [Commits](https://github.com/glebm/i18n-tasks/compare/v0.9.25...v0.9.29)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-09-11 20:02:35 +00:00
Javier Martín
8670cafa2e Merge pull request #3611 from PierreMesure/adding-missing-subtasks-to-upgrade-task
Adding missing subtasks to upgrade task and adding info log
2019-09-11 21:26:45 +02:00
Javier Martín
be34a030a1 Merge pull request #3661 from consul/fix_investment_selection
Fix table layout after selecting an investment
2019-09-11 20:18:31 +02:00
decabeza
abf04bea4c Add related content section on proposal dashboard 2019-09-11 19:45:19 +02:00
Javi Martín
cf5b538c1c Check page between AJAX requests
While the test should work without this assertion, the intention of the
test is to check what happens if a user selects and investment and, once
it's selected, clicks the "next" link.
2019-09-11 19:38:35 +02:00
Javi Martín
9d6ed7a085 Show only defined columns on inserted rows
When we were inserting a row or replacing an existing one (just like we
do when we click the link to select an investment), we were entering a
row containing all columns, and all of them were displayed even if they
had been excluded using the column selector.

This caused the table to move in a strange way, which sometimes made the
investment selection tests fail.
2019-09-11 19:38:34 +02:00
Javi Martín
c6fc0062d7 Fix typo 2019-09-11 18:49:59 +02:00
decabeza
08e820c134 Hide polls created by users on admin poll booth assigments 2019-09-11 18:44:32 +02:00
Javier Martín
cb6539d170 Merge pull request #3537 from PierreMesure/set-locales-in-test-environment
Set locales in test environment to avoid failed specs
2019-09-11 18:43:03 +02:00
Javi Martín
7f8474ea95 Reduce locales used in remote translations tests
This way we can reduce the number of locales used in the test
environment as well, while still testing every possible scenario for
remote translations.
2019-09-11 16:33:25 +02:00
Javier Martín
88afeda085 Merge pull request #3656 from consul/fix_alert_text
Fix text confirming investment heading support
2019-09-11 15:34:50 +02:00
Javier Martín
f362939eb3 Merge pull request #3653 from consul/migrate_coffeescript
Migrate CoffeeScript to JavaScript
2019-09-11 15:30:44 +02:00
Javi Martín
8231096854 Add JavaScript rule to disallow array constructors
Using `Array(0, 1, 2)` will *not* create an Array with the elements
[0, 1, 2]. This is a mistake I've seen in the past, and the JavaScript
community recommends adding this rule.
2019-09-11 14:03:24 +02:00
Javi Martín
af6a494344 Apply JavaScript rule to use the dot notation
We were using the dot notation in most places, but not everywhere.
2019-09-11 14:03:24 +02:00
Javi Martín
25bfd01e69 Add JavaScript rule to return a value in callbacks
It's very easy for Ruby developers to omit the `return` statement in an
array callback, such as the ones in `map` or `filter`. Doing so will
make those funcions have the same effect as `forEach`, which is usually
not the intended behaviour.
2019-09-11 14:03:24 +02:00
Javi Martín
044da18af1 Apply JavaScript rules to prevent shadowing
Using the same variable name makes the code more difficult to read.

We're also enabling the `no-param-reassing` rule since we accidentally
reassigned params in commit 824dd26d, and this rule will prevent us from
doing so in the future.
2019-09-11 14:03:24 +02:00
Javi Martín
efc32bc764 Enable Yoda JavaScript rule
The rule is not the most important one, but the name is awesome!
2019-09-11 14:03:24 +02:00
Javi Martín
d9bb553894 Add JavaScript rule for comparisons
Using `==` and `!=` sometimes causes unexpected behaviour in JavaScript,
and it's easy for Ruby developers to use them incorrectly.
2019-09-11 14:03:24 +02:00
Javi Martín
392095a379 Add JavaScript rule for maximum line length
I'm using the same criteria we use in Ruby: 110 characters, and the
severity set as a warning, since it's a rule we break sometimes.
2019-09-11 14:03:24 +02:00
Javi Martín
9185c0bcc6 Add JavaScript rule for semi colons
While I personally prefer the "never" option for this rule, we haven't
discussed which guideline to follow, so for now I'm applying the rule
CoffeeScript used when generating these files.
2019-09-11 14:03:24 +02:00
Javi Martín
86c9f53c2d Use undefined instead of void
We originally wrote `undefined` in CoffeeScript.

CoffeeScript compiled it to `void 0` when generating the JavaScript
files. However, the reason to do so was the `undefined` variable was
mutable before ECMAScript 5. Using `undefined` is more intuitive, and
nowadays there's no reason to use `void 0`.
2019-09-11 14:03:24 +02:00
Javi Martín
5211f47842 Add and apply ESLint spacing rules
For now we're only adding rules related to spacing and double quotes,
following the same rules we use in Ruby, which are the same rules
CoffeeScript followed when compiling these files.

We're also using the recommended ESLint rules, which will warn us about
many JavaScript common pitfalls, the `strict` rule which enforces using
strict mode, and the `no-console` rule, which will prevent us from
shipping code meant for debugging.

Although it's arguably more common to use the JSON format to define
these rules, I've chosen YAML because it's the format we use in all our
linters.
2019-09-11 14:03:24 +02:00
Javi Martín
ec5af1f1bc Remove unnecessary return statements
These statements were automatically added by CoffeeScript.

I'm only removing the obvious cases; there might be more cases where the
`return` statement isn't necessary.
2019-09-11 14:03:24 +02:00
Javi Martín
d93a029ce5 Convert CofeeScript to JavaScript
Compiled using `coffee -c` with CoffeeScript 1.12.6.
2019-09-11 14:03:24 +02:00
Javier Martín
2ff2100ebb Merge pull request #3651 from consul/simplify_coffeescript
Clean up CoffeeScript code
2019-09-11 14:01:51 +02:00
Javi Martín
2f10005739 Fix text confirming investment heading support
We accidentally removed the `count` option in commit 55fb14ac, which
made the translation return a hash.

The test is a bit hacky, which makes me think changing the user
interface would probably be a better solution.
2019-09-11 03:18:12 +02:00
Javi Martín
d8be18d6a9 Use double quotes in CoffeeScript
We accidentally added some single quotes recently.
2019-09-11 03:14:17 +02:00
Javi Martín
f83f0f08be Fix typo 2019-09-11 03:14:17 +02:00
Javi Martín
cc7e0d586b Reduce local variables usage in CoffeeScript
Local variables are one of the things CoffeeScript doesn't compile to
modern JavaScript automatically: it uses `var` instead of `const` or
`let`.

Besides, using `$this = $(this)` is usually done to reference the
current object in another function where the current object is a
different one. Here we were using it with no clear purpose.
2019-09-11 03:14:17 +02:00
Javi Martín
ba325526ae Use Array.apply to repeat a loop
In JavaScript we cannot easily repeat something N times, and
CoffeeScript's range loop compiles into complex JavaScript.

We could also use `Array.from({ length: N })`, but that's not supported
by old browsers like Internet Explorer 11.
2019-09-11 03:14:17 +02:00
Javi Martín
00d7c92e86 Don't assign in conditionals
The assignment operator can easily be mistaken with the equality
operator when used in a condition, making the code more difficult to
read.
2019-09-11 03:14:17 +02:00
Javi Martín
86e704d8a4 Use strict mode in JavaScript
Strict mode is supported by 98% of the browsers, including Internet
Explorer 10, and it helps developers avoid common JavaScript pitfalls.
2019-09-11 03:14:17 +02:00
Javi Martín
747767386a Use this instead of @ in CoffeeScript
We're using `this` most of the time, and it's what's used in JavaScript.
2019-09-11 03:14:17 +02:00
Javi Martín
aa458b8c87 Extract functions in foundation extras
In foundation extras we were assigning functions to local variables, but
in the rest of the CoffeeScript files we use them as object properties.
2019-09-11 03:14:17 +02:00
Javi Martín
dcc838b3d8 Make conditions easier to read
Combining both the inline and "traditional" `if` styles made the code
difficult to read, particularly when compiled to JavaScript.
2019-09-11 03:14:17 +02:00
Javi Martín
1634cd5263 Use each instead of $.each
Iterating through the jQuery elements with `each` is more similar to
other iterators we use. Furthermore, we avoid declaring the `index`
variable we don't use.
2019-09-11 03:14:17 +02:00
Javi Martín
3b5d295cdc Simplify function call 2019-09-11 03:14:17 +02:00
Javi Martín
879cc2571f Use different names for variable and parameter
Using the same name means from that point the name doesn't refer to the
original parameter, which might be confusing when reading the method.
2019-09-11 03:14:17 +02:00