Commit Graph

776 Commits

Author SHA1 Message Date
Krzysztof Kotlarek 942b9126a1 FIX: no error when double save post with poll (#13111)
Some plugins hook into Post after save to set custom fields and save again.

For example: https://github.com/discourse/discourse-category-experts/blob/main/lib/category_experts/post_handler.rb#L27

Problem is that in case like that `raw_changed?` is false but all callback are triggered. `extracted_polls` is class atribute therefore that should be reset with each attempt.

That was causing an error:
```
#<ActiveRecord::RecordNotUnique: PG::UniqueViolation: ERROR:  duplicate key value violates unique constraint 
"index_polls_on_post_id_and_name" DETAIL:  Key (post_id, name)=(8967, poll) already exists.
```
2021-05-27 08:39:51 +10:00
Bianca Nenciu 8e1448487f FIX: Make poll options tabbable (#13159) 2021-05-26 20:45:10 +03:00
Discourse Translator Bot e2e13a70f6 Update translations (#13136) 2021-05-25 15:29:11 +02:00
Josh Soref 59097b207f DEV: Correct typos and spelling mistakes (#12812)
Over the years we accrued many spelling mistakes in the code base. 

This PR attempts to fix spelling mistakes and typos in all areas of the code that are extremely safe to change 

- comments
- test descriptions
- other low risk areas
2021-05-21 11:43:47 +10:00
Discourse Translator Bot 55611a5b80 Update translations (#13089) 2021-05-18 16:49:18 +02:00
Discourse Translator Bot 8ac184c636 Update translations (#13088) 2021-05-18 15:11:41 +02:00
Penar Musaraj b21f74060e FIX: Layout of date input in poll builder (#13057) 2021-05-13 10:27:03 -04:00
Discourse Translator Bot 21c301aa72 Update translations (#13030) 2021-05-11 19:01:59 +02:00
Kris f002c58a30 DEV: Buttons were missing btn-default classes (#12991) 2021-05-08 11:45:18 -04:00
Discourse Translator Bot d45c7973f9 Update translations (#12940) 2021-05-04 16:34:37 +02:00
Bianca Nenciu 8636292a40 FIX: Do not cut off long polls (#12854)
Some polls with images can be very long. Those which showed a pie chart
for the results had a fixed height set, which meant that some long polls
could be cut off.
2021-04-29 10:32:45 +03:00
Discourse Translator Bot 3b2f2b533f Update translations (#12851) 2021-04-27 16:01:06 +02:00
Bianca Nenciu a97e3e249d FEATURE: Show a textarea in advanced mode (#12806)
When switching to advanced mode, show a textarea instead of individual
inputs. Every line of the textarea is equivalent with an input.
2021-04-23 16:54:53 +03:00
Bianca Nenciu 6c5d6dd356 Improve validation for polls and improve builder (#12745)
* FIX: Show date picker over modal

Previously, scrolling was necessary to see the whole picker.

* FEATURE: Improve validation for polls

Adds new error messages for each of the edge cases. Previously, it
failed with a simple error saying that the minimum value must be less
than the maximum value.

* UX: Copy edit
2021-04-22 21:36:32 +03:00
Discourse Translator Bot 606860e75a Update translations (#12764) 2021-04-20 15:33:17 +02:00
Bianca Nenciu 96a16123d8 FIX: Generate unique HTML heading names (#12705)
Headings with the exact same name generated exactly the same heading
names, which was invalid. This replaces the old code for generating
names for non-English headings which were using URI encode and resulted
in unreadable headings.
2021-04-16 10:54:19 +03:00
Discourse Translator Bot 27eff709c4 Update translations (#12684) 2021-04-13 16:02:08 +02:00
Bianca Nenciu 2081b6e5c9 UX: Improve poll builder UI (#12549)
* Improve poll validation

* Redesign poll builder

* Group all advanced settings under a new section
2021-04-12 19:48:01 +03:00
Discourse Translator Bot 93f74add7d Update translations (#12614) 2021-04-07 11:58:41 +02:00
Bianca Nenciu 2ad9b3f432 FEATURE: Add anchor links to headings (#12379) 2021-03-23 10:45:06 +02:00
Discourse Translator Bot bc88ea5976 Update translations (#12412) 2021-03-16 15:49:29 +01:00
Discourse Translator Bot d1cf773730 Update translations (#12323) 2021-03-09 15:19:02 +01:00
Discourse Translator Bot c21cba70f6 Update translations (#12258) 2021-03-02 15:28:30 +01:00
Discourse Translator Bot 2757003ef1 Update translations (#12186) 2021-02-23 15:10:04 +01:00
Discourse Translator Bot f283bde25a Update translations (#12097) 2021-02-16 15:24:37 +01:00
Penar Musaraj 5d8673321f DEV: Add poll:voted event (#12070) 2021-02-12 13:06:27 -05:00
Discourse Translator Bot a3c363c8f0 Update translations (#12065) 2021-02-12 13:18:05 +01:00
Discourse Translator Bot b3fa521bf4 Update translations (#12019) 2021-02-09 14:56:15 +01:00
Robin Ward 61f5d501cb DEV: Migrate to Ember CLI (#11932)
This encompasses a lot of work done over the last year, much of which
has already been merged into master. This is the final set of changes
required to get Ember CLI running locally for development.

From here on it will be bug fixes / enhancements.

Co-authored-by: Jarek Radosz <jradosz@gmail.com>
Co-authored-by: romanrizzi <rizziromanalejandro@gmail.com>

Co-authored-by: Jarek Radosz <jradosz@gmail.com>
Co-authored-by: romanrizzi <rizziromanalejandro@gmail.com>
2021-02-03 14:22:20 -05:00
Discourse Translator Bot 4860c7c6ee Update translations (#11928) 2021-02-02 14:37:52 +01:00
Joffrey JAFFEUX c6a1042950 DEV: prettier 2.2.1 (#11862) 2021-01-27 12:39:20 +01:00
Andrew Prigorshnev 3bbe87f229 FIX: polls extending in post reply histories (#11837)
* Add an acceptance test

* FIX: polls extending in post reply histories
2021-01-26 10:29:49 -05:00
Discourse Translator Bot 0e8c155b70 Update translations (#11779) 2021-01-20 22:58:26 +01:00
Discourse Translator Bot 440b63e833 Update translations (#11756) 2021-01-19 16:14:59 +01:00
Discourse Translator Bot 0e8e3f4813 Update translations (#11689) 2021-01-12 14:29:05 +01:00
Discourse Translator Bot 09f9d4b281 Update translations (#11601) 2020-12-29 19:44:53 +01:00
Discourse Translator Bot e113ddc73c Update translations (#11557) 2020-12-22 14:49:40 +01:00
David Taylor d25fd34b44 DEV: Remove with_deleted workarounds for old Rails version (#11550)
* DEV: Remove with_deleted workarounds for old Rails version

These workarounds using private APIs are no longer required in the latest version of Rails. The referenced issue (https://github.com/rails/rails/issues/4306) was closed in 2013. The acts_as_paranoid workaround which this was based on was removed for rails > 5.

Switching to using a scope also allows us to use it within a `belongs_to` relation (e.g. in the Poll model). This avoids issues which can be caused by unscoping all `where` clauses.

Predicates are not necessarily strings, so calling `.join(" AND ")` can sometimes cause weird errors. If we use `WhereClause#ast`, and then `.to_sql` we achieve the same thing with fully public APIs, and it will work successfully for all predicates.
2020-12-22 10:38:59 +11:00
Discourse Translator Bot 47fa3cf864 Update translations (#11492) 2020-12-15 15:25:10 +01:00
Roman Rizzi bbe5d8d5cf DEV: Sort imports alphabetically (#11382) 2020-12-01 15:31:26 -03:00
Roman Rizzi 1c2358ba16 DEV: Tidy up imports. (#11364)
Only allow one import definition per file and add a new eslint rule to enforce it.
2020-11-27 11:30:16 -03:00
Joffrey JAFFEUX ad1a10e6e9 FIX: hides votes from regular users when poll is staff only (#11342) 2020-11-24 22:19:06 +01:00
chenyxuan defbae4007 FIX: Force string conversions to UTF-8 "bytes" (#11315)
https://meta.discourse.org/t/cant-create-poll-with-some-chinese-options/170836
2020-11-23 17:51:05 +01:00
Robin Ward 3394d994e9 FIX: Tests were using jQuery selectors
For the most part `querySelectorAll` will work with jQuery selectors,
but the big exception is `:eq(0)` and similar. Those needed to be
replaced.
2020-11-23 11:36:07 -05:00
Discourse Translator Bot 7fecad41db Update translations (#11264) 2020-11-17 14:49:58 +01:00
Discourse Translator Bot 9904a007c5 Update translations (#11182) 2020-11-10 15:23:06 +01:00
Discourse Translator Bot 886d619d3f Update translations (#11108) 2020-11-03 18:08:07 +01:00
Jarek Radosz a17d54d0bf DEV: De-arrowify tests (#11068)
Using arrow functions changes `this` context, which is undesired in tests, e.g. it makes it impossible to setup things like pretender (`this.server`) in `beforeEach` hooks.

Ember guides always use classic functions in examples (e.g. https://guides.emberjs.com/release/testing/test-types/), and that's what it uses in its own test suite, as do various addons and ember apps.

It was also already used in Discourse where `this` was required. Moving forward, it will be needed in more places as we migrate toward ember-cli.

(I might later add a custom rule to eslint-discourse-ember to enforce this)
2020-10-30 17:37:32 +01:00
Discourse Translator Bot 0a74322589 Update translations (#11087) 2020-10-30 16:06:32 +01:00
Robin Ward 435a9913a4 REFACTOR: Replace global find with queryAll
In newer Embers jQuery is removed. There is a `find` but it only returns
one element and not a jQuery selector. This patch migrates our code to a
new helper `queryAll` which allows us to remove the global.
2020-10-29 14:45:51 -04:00