Commit Graph

855 Commits

Author SHA1 Message Date
Eduardo Poleo b500ef77d7 Poll migration is not idempotent (#7964)
The migration script is not idempotent due to database constrains on the
poll related objects, namely:

polls: index_polls_on_post_id_and_name (post_id,name) UNIQUE
poll_options: index_poll_options_on_poll_id_and_digest  (poll_id,digest) UNIQUE
poll_votes:  index_poll_votes_on_poll_id_and_poll_option_id_and_user_id  (poll_id,poll_option_id,user_id) UNIQUE

This change skips a particular poll migration if it's already found on
the db.
2019-08-08 18:48:53 +02:00
Penar Musaraj 78500fb770 UX: Improve layout of poll builder modal 2019-08-07 15:00:03 -04:00
Joffrey JAFFEUX c1d2fb115c
DEV: prevents staff computed property to be overridden (#7931) 2019-07-24 22:01:08 +02:00
Neil Lalonde 97e9599ecc Update translations 2019-07-15 09:43:22 -04:00
Gerhard Schlager a5e80079d6 FEATURE: Add Belarusian language 2019-07-04 11:37:37 +02:00
Neil Lalonde 7e884cce6b Update translations 2019-06-25 10:57:18 -04:00
Neil Lalonde dbc59cfe61 Update translations 2019-06-17 13:25:37 -04:00
Robin Ward a8793d0d9a REFACTOR: Test Memory Usage Fixes (#7769)
* Calling `Discourse.reset()` creates a new container
We should run our de-initializers only after acceptance tests,
since initializers are not run outside of acceptance tests anyway,
and the container at this point can be passed properly to the
`teardown()` method.

* Remove `Discourse.reset` from tests
This would cause a new container to be created which leaks many objects.

* `updateCurrentUser` is more accurate than `replaceCurrentUser`
2019-06-14 14:54:20 +02:00
Robin Ward c322cccd53 FIX: Memory Leaks when decorating posts (#7749)
* Remove long-deprecated method

* FIX: Memory Leaks when decorating posts

Previously we'd keep creating mixins dynamically when decorating the
same class.

This code changes the API to recommend an `id` parameter for each
decorator which will avoid leaks. All plugins should be updated to
include this parameter, although if they don't in the meantime it'll
just mean a warning in the console (and a continued leak.)
2019-06-11 17:21:23 +02:00
Neil Lalonde 5d7e34e0ad Update translations 2019-06-10 10:36:08 -04:00
Joffrey JAFFEUX b339d67401
DEV: refactors select-kit helper to prevent it to leak into global state (#7708) 2019-06-06 10:47:10 +02:00
Guo Xiang Tan 70b73c2159 DEV: Use proper heredoc name. 2019-06-04 16:31:18 +08:00
Bianca Nenciu 63e3d49508 DEV: Add test for poll plugin reduce_excerpt. 2019-06-04 16:30:15 +08:00
Neil Lalonde dbfdce95c9 Update translations 2019-05-30 10:40:16 -04:00
Régis Hanol 0df5349dbf
FIX: ensure the post url is present
Also don't interpolate a string
2019-05-30 00:05:53 +02:00
Régis Hanol a188d15b08
FIX: reduce poll when post is nil 2019-05-30 00:02:33 +02:00
Bianca Nenciu 227c45107d FEATURE: Implement Onebox for posts including polls. (#7539) 2019-05-29 17:05:52 +02:00
Joffrey JAFFEUX b98b994fe7
apply prettier on plugins (#7605) 2019-05-27 11:06:11 +02:00
Joffrey JAFFEUX bfea922167
DEV: global s/this.get\("(\w+)"\)/this.$1 (#7592) 2019-05-27 10:15:39 +02:00
Gerhard Schlager edc6ac0c66 Update translations 2019-05-21 00:04:37 +02:00
Gerhard Schlager 0afcad148a DEV: Always use %{count} in pluralized strings 2019-05-20 23:26:22 +02:00
Gerhard Schlager a58aa9b4bf Update translations 2019-05-20 13:42:05 +02:00
Sam Saffron 3c1fa3910f DEV: track the correct channel in specs
These tests are erratically failing due to distributed cache messages that
can land between tests

Ensure we are only looking for the correct messages
2019-05-20 18:27:09 +10:00
Sam Saffron aeb7143aff DEV: correct flaky poll specs
They were relying on a pristine message bus, however current implementation
still uses redis, stuff can get held up and we can end up publishing
distributed cache messages in the middle invalidating the tests
2019-05-17 16:16:02 +10:00
David Taylor 5605dba85c DEV: Automatically annotate plugin models alongside core models 2019-05-13 16:37:47 +01:00
Guo Xiang Tan 9059a8ca90 Fix the build. 2019-05-13 10:16:26 +08:00
Sam Saffron 30990006a9 DEV: enable frozen string literal on all files
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.

Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00
Guo Xiang Tan 152238b4cf DEV: Prefer `public_send` over `send`. 2019-05-07 09:33:21 +08:00
Joffrey JAFFEUX 1d784c7a18
FEATURE: adds support for dates in polls (#7450) 2019-04-29 10:01:19 +02:00
Joffrey JAFFEUX 0284910125
Update translations 2019-04-24 15:02:04 +02:00
Robin Ward 21b975e71a FIX: Broken plugin spec 2019-04-23 15:29:26 -04:00
Neil Lalonde e7a6f0698d Update translations 2019-04-05 10:02:54 -04:00
Bianca Nenciu 3cf922a58a FIX: URL to user profile in poll results. (#7315) 2019-04-03 22:17:05 +02:00
Robin Ward c44371b4ac FIX: Broken spec 2019-03-28 13:55:04 -04:00
Robin Ward b58867b6e9 FEATURE: New 'Reviewable' model to make reviewable items generic
Includes support for flags, reviewable users and queued posts, with REST API
backwards compatibility.

Co-Authored-By: romanrizzi <romanalejandro@gmail.com>
Co-Authored-By: jjaffeux <j.jaffeux@gmail.com>
2019-03-28 12:45:10 -04:00
Neil Lalonde 4a7e83d880 Update translations 2019-03-28 10:07:51 -04:00
Gerhard Schlager d43f4206c7 FEATURE: Add Armenian language 2019-03-28 14:24:14 +01:00
Sam Saffron b5e32cfe2a DEV: correct spec to test for correct fidelity
This is due to 9ebabc1d
2019-03-28 17:45:36 +11:00
Neil Lalonde 9c54447ca7 Update translations 2019-03-11 13:55:45 -04:00
Tim Lange 6420b73c33 FIX: Changed poll age message to upcase (#7124) 2019-03-07 11:04:17 +01:00
Kris be5e889b1b UX: Poll style fix, button classes 2019-03-06 20:27:40 -05:00
Neil Lalonde aabc3375c6 Update translations 2019-03-01 11:28:07 -05:00
Régis Hanol 6b006c383b FIX: polls acceptance tests 2019-02-27 19:16:24 +01:00
Régis Hanol 0a708ba064 FIX: preload poll voters 2019-02-27 17:00:21 +01:00
Joffrey JAFFEUX 5952a6c0ad
DEV: uses find() helper instead of this.$() in js tests (#7062) 2019-02-25 16:04:55 +01:00
Sam 79841cf7dd FEATURE: add missing autocomplete suppressions
Following 1f4ace4f add a couple more autocomplete suppressions (in polls
and invite ui)
2019-02-21 16:37:26 +11:00
Neil Lalonde 55cc5ab4b8 Update translations 2019-02-07 09:49:57 -05:00
Joe a342d2f150 UX: reduces white-space in polls (#6956)
* reduces white-space in polls and uses font-size variables
2019-02-05 10:47:22 +01:00
Régis Hanol f7b7bc8abe DEV: move 'default_scope' to default sort on 'has_many' relation 2019-01-30 17:45:50 +01:00
Régis Hanol 671ff4243f
FIX: discourse-poll-option test wasn't working 2019-01-24 14:55:36 +01:00
Régis Hanol cba6bdaf52 UX: use solid circle to indicate selected option in polls 2019-01-24 12:25:37 +01:00
Bianca Nenciu d589c66f3e FIX: Fix URL to user profile. (#6881) 2019-01-23 18:27:21 +01:00
Joffrey JAFFEUX 80d42b4ea2
icons deprecations fixes (#6920) 2019-01-22 12:02:02 +01:00
Gerhard Schlager 90823eaca6 Update translations 2019-01-19 23:41:52 +01:00
Joffrey JAFFEUX 502b1316d0
DEV: s/this._super()/this._super(...arguments) (#6908) 2019-01-19 10:05:51 +01:00
Neil Lalonde 81953339f2 Update translations 2019-01-14 12:23:49 -05:00
Joffrey JAFFEUX 1a3655b787
DEV: s/Em/Ember (#6874) 2019-01-11 17:54:23 +01:00
Joffrey JAFFEUX f9648de897
DEV: upgrades from Ember 2.13 to Ember 3.5.1 (#6808)
Co-Authored-By: Bianca Nenciu <nbianca@users.noreply.github.com>
Co-Authored-By: David Taylor <david@taylorhq.com>
2019-01-10 11:06:01 +01:00
Neil Lalonde d7656f30c3 Update translations 2019-01-02 12:32:38 -05:00
Régis Hanol b478984f60 make eslint happy 2018-12-31 12:38:45 +01:00
Bianca Nenciu e49bcebb35 FIX: Validate poll arguments. (#6740)
* FIX: Validate number poll.
* FEATURE: Poll's min can be 0.
* FIX: Fix URL to user profile.
2018-12-31 10:48:30 +01:00
Bianca Nenciu c928386c3e FIX: Copy old status to new poll. (#6788) 2018-12-19 11:29:13 +01:00
Bianca Nenciu 5bda4d26b4 FIX: Rescue errors in job. (#6745) 2018-12-17 15:28:57 +01:00
Neil Lalonde 124ae46763 Update translations 2018-12-14 10:34:12 -05:00
Guo Xiang Tan 71ce9ced47 FIX: Incorrect arguments were being passed to `Jobs::ClosePoll`.
Also fix spec that wasn't testing anything.
2018-12-13 16:46:00 +08:00
Bianca Nenciu 285ff3bfbd FIX: Show every voter only once. (#6746)
Each voter is represented by an object and Set does not properly check for equality.
2018-12-11 14:00:28 +01:00
Guo Xiang Tan dcf9c6da59 DEV: Don't publish post messages to non-human users. 2018-12-06 08:24:13 +08:00
Régis Hanol aea2d8bbeb FIX: properly secure poll message bus
Co-authored-by: Sam <sam.saffron@gmail.com>
2018-12-05 21:27:49 +01:00
Régis Hanol f1050350ed FIX: clamp integers to prevent 'PG::NumericValueOutOfRange' errors 2018-12-04 22:51:56 +01:00
Régis Hanol 3c9c95ac83 Update Rubocop to 0.60 2018-12-04 10:48:16 +01:00
Neil Lalonde d43d007929 Update translations 2018-11-29 10:51:16 -05:00
Penar Musaraj 03deda2147
Upgrade to FontAwesome 5 (take two) (#6673)
* Add missing icons to set

* Revert FA5 revert

 This reverts commit 42572ff

* use new SVG syntax in locales

* Noscript page changes (remove login button, center "powered by" footer text)

* Cast wider net for SVG icons in settings

- include any _icon setting for SVG registry (offers better support for plugin settings)

- let themes store multiple pipe-delimited icons in a setting

- also replaces broken onebox image icon with SVG reference in cooked post processor

* interpolate icons in locales

* Fix composer whisper icon alignment

* Add support for stacked icons

* SECURITY: enforce hostname to match discourse hostname

This ensures that the hostname rails uses for various helpers always matches
the Discourse hostname

* load SVG sprite with pre-initializers

* FIX: enable caching on SVG sprites

* PERF: use JSONP for SVG sprites so they are served from CDN

This avoids needing to deal with CORS for loading of the SVG

Note, added the svg- prefix to the filename so we can quickly tell in
dev tools what the file is

* Add missing SVG sprite JSONP script to CSP

* Upgrade to FA 5.5.0

* Add support for all FA4.7 icons

- adds complete frontend and backend for renamed FA4.7 icons

- improves performance of SvgSprite.bundle and SvgSprite.all_icons

* Fix group avatar flair preview

- adds an endpoint at /svg-sprites/search/:keyword

- adds frontend ajax call that pulls icon in avatar flair preview even when it is not in subset

* Remove FA 4.7 font files
2018-11-26 16:49:57 -05:00
Régis Hanol ed400a90fe
FIX: properly migrate polls/votes stored as array 2018-11-24 17:14:03 +01:00
Régis Hanol 5142911012 FIX: auto-closing poll wasn't working 2018-11-23 17:42:57 +01:00
Régis Hanol f402d0d74f FIX: couldn't delete users who voted on a poll 2018-11-23 11:45:53 +01:00
Régis Hanol 606faa2ee5 FIX: ensure poll options keep their order 2018-11-23 10:37:05 +01:00
Guo Xiang Tan 439b3fe10a Fix `MigratePollsData` failing when poll-votes have duplicated options. 2018-11-21 10:52:21 +08:00
Régis Hanol 92100f82eb FIX: properly disable serializable attributes when poll plugin is disabled 2018-11-20 17:28:41 +01:00
Joffrey JAFFEUX 95d8a421be
fixes linting 2018-11-19 16:29:15 +01:00
Régis Hanol 4459665dee
REFACTOR: use tables instead of custom fields for polls (#6359)
Co-authored-by: Guo Xiang Tan <tgx_world@hotmail.com>
2018-11-19 14:50:00 +01:00
Joe 9c5b5243fc
UX: don't show 0 vote count in crawler or print view 2018-11-15 17:40:01 +08:00
Sam 42572ff138 Revert font awesome 5 changes
We are still pushing ahead on this 100% just need a bit longer to prepare
all plugins
2018-11-08 16:12:18 +11:00
Penar Musaraj 005e1ecb9b
FEATURE: Update Font Awesome to v5.4.1 and SVGs (#6557)
* First take on subsetting svg icons

* FontAwesome 5 svg subset WIP

* Include icons from plugins/badges into svg sprite subset

* add svg icon support to themes

* Add spec for SvgSprite

* Misc. SVG icon fixes

* Use FA5 svgs in local-dates plugin

* CSS adjustments, fix SVG icons in group flair

* Use SVG icons in poll plugin

* Add SVG icons to /wizard
2018-11-07 13:05:43 -05:00
David Taylor d963f96fa4 Update translations 2018-11-05 11:16:58 +00:00
Sam 29fdb50338 FIX: if poll has not options do not break serializer
Note: we have a proper rewrite of this plugin in progress
it will address this issue in a proper way
2018-10-24 10:04:17 +11:00
Guo Xiang Tan a4aa4a9be4 DEV: Remove the use of mocks in our tests. 2018-10-15 10:38:02 +08:00
Neil Lalonde af39624d19 Update translations 2018-10-12 10:40:25 -04:00
Penar Musaraj 753d39f30d Fix NoMethodError in polls#voters 2018-10-09 12:51:49 -04:00
Gerhard Schlager b0a383561e FEATURE: Add Lithuanian locale 2018-09-27 05:26:38 +02:00
Neil Lalonde a147a856f8 Update translations 2018-09-14 11:43:14 -04:00
Neil Lalonde 5a4d6f9656 Update translations 2018-08-30 09:40:31 -04:00
Kris 6ec43f3472 FIX: poll avatar spacing too large 2018-08-29 09:11:03 -04:00
Kris d6144c6d60 UX: More compact polls on mobile 2018-08-27 16:53:35 -04:00
Neil Lalonde 6d79be29f2 Update translations 2018-08-21 11:28:13 -04:00
Neil Lalonde 0cf98f1ad9 Revert "Update translations" 2018-08-21 11:17:53 -04:00
Neil Lalonde 3c6d5c8241 Update translations 2018-08-21 10:36:59 -04:00
Sam a71fe16647 workaround, we need another lazy operator here
Data can be pretty inconsistent here till our big refactor is done
2018-08-20 10:37:06 +10:00
Sam eacb2593ee workaround badly denormalized data in polls 2018-08-17 11:15:29 +10:00
Joffrey JAFFEUX 10a3499d68
uses emoji versions for specs (#6276) 2018-08-16 13:45:30 +02:00
Peter Borsa a6820d8767 Add Hungarian locale (#6260) 2018-08-13 01:02:35 +02:00
Neil Lalonde 5c248e3a7a Update translations 2018-08-07 12:05:45 -04:00
Kris 84d822959a Reducing some specificity, color fix 2018-08-03 17:44:22 -04:00
Maja Komel 04baddf731 DEV: migrate tests to async/await 2018-07-30 12:21:05 +02:00
Neil Lalonde 58ecc84d61 Update translations, excluding Japanese and config/locales/client.zh_TW.yml due to errors 2018-07-26 13:01:39 -04:00
Gerhard Schlager d3e04daa95 Add Swahili language 2018-07-16 18:11:38 +02:00
Joe 27c018e75c
FIX: makes large images in polls responsive 2018-07-01 13:20:00 +08:00
Neil Lalonde 6e54af1091 FIX: error if decorateCooked is called without a helper for a post with a poll 2018-06-18 12:35:19 -04:00
Joffrey JAFFEUX 60ff0e9b8c
missing prettified files 2018-06-15 18:42:20 +02:00
Régis Hanol 5d445fb810 FIX: properly handle invalid auto close date for polls 2018-06-12 15:31:09 +02:00
Neil Lalonde 79854198c1 Update translations 2018-06-08 10:27:53 -04:00
Joffrey JAFFEUX 174d392e5a
DEV: adds prettier (#5956)
Run `prettier --write "app/assets/stylesheets/**/*.scss" "plugins/**/*.scss"` after making sure you installed it with `yarn`

It's recommended to configure your editor to run prettier on file save.
2018-06-08 11:49:31 +02:00
Guo Xiang Tan 3a8f69c3d2 DEV: Assert for 200 response code to avoid changing magic helper in the future. 2018-06-07 16:11:09 +08:00
Sam e806e6e96f correct specs 2018-06-07 16:13:15 +10:00
Régis Hanol f05ca02f13 FIX: unable to add new poll to post with a public poll 2018-06-05 15:49:21 +02:00
Neil Lalonde dee9af2877 Update translations 2018-05-31 17:03:38 -04:00
Joe 733ffc4bbf
FIX: add classes to input groups and move tips 2018-05-30 21:02:06 +08:00
Joe ec7f597274
FIX: update poll-builder to new modal design 2018-05-30 21:00:54 +08:00
Joe 47a9b3427b
FIX: input tip causes modal to change width when present 2018-05-30 14:26:06 +08:00
Guo Xiang Tan c1fb111951 FIX: Show poll options when user is in a PM with a bot.
https://meta.discourse.org/t/discobot-dont-take-users-through-the-poll-tutorial-if-its-not-enabled/76604/9
2018-05-30 11:16:20 +08:00
Gerhard Schlager b7bf0e96aa Update translations 2018-05-29 22:01:57 +02:00
Gerhard Schlager 864ada835b FEATURE: Add Bulgarian language 2018-05-29 21:07:17 +02:00
Gerhard Schlager 01b0d9d235 Update translations 2018-05-17 00:08:33 +02:00
Jeff Wong 19605e8b0b Feature: Hide plugins that ship with core from plugins panel 2018-05-15 15:50:17 -07:00
Régis Hanol ef87944a34 UX: show close date on automatically closed polls 2018-05-12 02:14:58 +02:00
Guo Xiang Tan 8cf0f51eb2 UX: Display site settings shortcut for `poll` and `discourse-nginx-performance-report`.
https://meta.discourse.org/t/improving-admin-plugins/84585/29?u=tgxworld
2018-05-08 10:34:32 +08:00
Régis Hanol 94163d7f1a add spec for auto-close polls 2018-05-07 11:31:20 +02:00
Guo Xiang Tan 0d74c30fa7 Remove more uses of `rescue nil`. 2018-05-07 11:38:23 +08:00
Gerhard Schlager 7bf01fd769 Update translations 2018-05-04 10:58:21 +02:00
Neil Lalonde 69a3ba0014 Update translations 2018-05-03 15:23:31 -04:00
Jeff Atwood 50a2508604
minor copyedit 2018-05-03 02:31:18 -07:00
Régis Hanol 9ff2d540ba fix the build 2018-05-03 10:32:01 +02:00
Régis Hanol ba14c80b9c FEATURE: automatically close a poll on a given date and time 2018-05-03 02:12:19 +02:00
Neil Lalonde 8babf1c1e1 Update translations 2018-04-24 11:08:45 -04:00
Neil Lalonde a631c8f09d Update translations 2018-04-13 10:32:39 -04:00
Guo Xiang Tan 4319273cf5 UX: Split up group form into smaller sections. 2018-04-09 15:14:50 +08:00
Gerhard Schlager 4c53e81c69 Update translations 2018-04-06 14:51:09 +02:00
Gerhard Schlager 37fa843efc Allow pulling of Urdu translations from Transifex again
The translations have been fixed.
2018-03-27 11:56:40 +02:00
Neil Lalonde cd99ccdbf0 Update translations 2018-03-26 10:58:01 -04:00
Guo Xiang Tan 51657d3426 Allow polls to be added/renamed/removed as long as user can edit posts. 2018-03-14 11:00:57 +08:00
Guo Xiang Tan b77553a635 FIX: Staff should be able to updates polls when edit window expires.
https://meta.discourse.org/t/moderators-cannot-remove-polls-from-posts/81804/7?u=tgxworld
2018-03-08 16:45:06 +08:00
Neil Lalonde 0c8df32903 Update translations, except ur because of errors 2018-03-07 14:11:56 -05:00
Guo Xiang Tan d02e2cbcca PERF: Avoid fetching a bunch of ids in polls updater. 2018-03-07 14:18:56 +08:00
Maja Komel e2a441ade9 Add Slovenian translations 2018-03-06 20:51:41 +01:00
Gerhard Schlager 7a2183e8ab FEATURE: rake task for merging users 2018-03-01 12:28:12 +01:00
Régis Hanol 10139692b2 forgot the error message 2018-02-27 00:25:15 +01:00
Régis Hanol dee35b72f2 FIX: must be able to post in a topic in order to vote on a poll 2018-02-27 00:19:44 +01:00
Neil Lalonde 32ad98161f Update translations 2018-02-15 16:36:03 -05:00
Sam 94b2c70c0d PERF: remove oga gem
oga gem is automatically required by the aws gem
the oga gem retains about 1mb of memory, aws now uses nokogiri

This also removes the html normalize from the pretty text specs that was
a fair bit buggy as the polls test shows.
2018-02-15 14:36:40 +11:00
Neil Lalonde f7042ecc85 Update translations 2018-01-31 11:19:21 -05:00
Bruno Perel 6750ff6873 (S)CSS cleanup: 0px => O and removal of duplicated properties (#5526) 2018-01-25 09:53:36 -05:00
Sam 7e3543d96f correct plugin specs 2018-01-12 14:42:05 +11:00
Joffrey JAFFEUX b295c03001
FIX: select single choice as default when building a poll 2018-01-03 09:23:15 +01:00
Joffrey JAFFEUX 315b9d796d
select-kit refactoring
* better test helper
* more reliable tests
* more consistent use of data-value/data-name/title/aria-label everywhere: header and rows
2017-12-22 13:08:12 +01:00
Neil Lalonde 7e3c4b4b2f Update translations 2017-12-20 15:28:29 -05:00
blokovi 0df1c85fd3 FEATURE: Serbian translation (#5443) 2017-12-19 12:26:06 +01:00
Joffrey JAFFEUX c1c31b99ce
Replaces toolbar popup-menu with select-kit 2017-12-13 10:49:32 +01:00
Neil Lalonde 929aa98723 Update translations 2017-12-11 12:01:57 -05:00
Kyle Zhao c52f747031 FEATURE: Catalan Translations (#5404) 2017-12-07 10:36:25 +01:00
Neil Lalonde 978cf9485f Update translations 2017-12-06 10:25:12 -05:00
Joffrey JAFFEUX 067d454937
FIX: makes sur we have polls before validating 2017-12-05 12:07:21 -05:00
Joffrey JAFFEUX 316d814130
FIX: staff should always be allowed to create polls if they are enabled 2017-12-05 00:03:56 +01:00
Joffrey JAFFEUX 76bc173d47
FEATURE: adds poll_allow_staff_to_create
This setting will bypass poll_minimum_trust_level_to_create if set to true
2017-12-04 18:12:17 +01:00
Joffrey JAFFEUX 1e0bfa1d97
FIX: poll new_post_manager spec 2017-12-04 16:12:40 +01:00
Joffrey JAFFEUX 63bab32816 FEATURE: introduces minimum trust level for polls (#5391)
* FEATURE: introduces minimum trust level for polls

This commit makes `poll_enabled` less misleading and introduces `poll_minimum_trust_level_to_create`. If poll are enabled they will always be cooked, and if you have the required trust level you can create polls. As a side effect, it also fixes a bug where rebaking a post created by staff member when `poll_enabled=false` would end up not cooking it.

It also adds more tests to ensure settings are respected.

* admins should be whitelisted

* checks for admin in post validation

* test for >= instead of == trust level
2017-12-04 14:47:11 +01:00
Neil Lalonde 1603dcf0d1 Update translations 2017-11-30 15:32:15 -05:00
Eric Berry ab22c8cad4 FIX: Infinite loop when poll step is zero (#5380)
* Fix infinite loop when poll step is zero

* Add test for step minimum and for breaking test

* Remove trailing spaces (eslint)

* Remove extra space (eslint)

* Removed test call .twice
2017-11-30 17:04:41 +01:00
Joffrey JAFFEUX 9208909b26 tweak icon-library generation 2017-11-23 18:24:26 +01:00
Joffrey JAFFEUX 39f3dbd945
Introduces select-kit
* renames `select-box-kit` into `select-kit`
* introduces `single-select` and `multi-select` as base components
* introduces {{search-advanced-category-chooser}} as a better component for selecting category in advanced search
* improves events handling in select-kit
* recreates color selection inputs using {{multi-select}} and a custom {{selected-color}} component
* replaces category-selector by a component using select-kit and based on multi-select
* improves positioning of wrapper
* removes the need for offscreen, and instead use `select-kit-header` as a base focus point for all select-kit based components
* introduces a formal plugin api for select-kit based components
* introduces a formal pattern for loading and updating select-kit based components:

```
computeValue()
computeContent()
mutateValue()
```
2017-11-21 11:53:09 +01:00
Angus McLeod c8a6e5cbb3 If there is a specific error it should be shown to the user (#5323)
e.g. post_is_deleted, or topic_must_be_open_to_vote
2017-11-17 12:12:13 +01:00
Neil Lalonde 13c91fc7ec Update translations 2017-11-13 15:02:53 -05:00
Neil Lalonde d2d272c5f1 Update translations 2017-09-28 13:37:19 -04:00
Guo Xiang Tan 77d4c4d8dc Fix all the errors to get our tests green on Rails 5.1. 2017-09-25 13:48:58 +08:00
Neil Lalonde 346442134e Update translations 2017-09-14 11:02:39 -04:00
Robin Ward e41a828774 Update translations 2017-08-31 14:50:40 -04:00
Neil Lalonde ea969d1ed0 FEATURE: add Thai language 2017-08-25 12:33:09 -04:00
Neil Lalonde 3b7657e4b3 Update translations 2017-08-16 11:38:45 -04:00
Neil Lalonde 130ae2cd4b FEATURE: add Latvian language 2017-08-15 11:40:00 -04:00
Sam 43c0111ca1 FIX: multichoice poll with more than 25 votes
In the past we would double up on avatars due to incorrect logic for
handling offset
2017-08-14 15:33:59 -04:00
Régis Hanol 80daa7006c use new reload-friendly API 2017-08-12 04:22:44 +02:00
David Taylor ea032d8372 Improve source code linting for continuous integration (#5017)
* Add rubocop linting to docker:test rake task

* Add eslint JS listing to plugin files, and add SKIP_LINT variable

* Fix failing ‘polls’ plugin eslint

Using eslint-disable-line, as is done in core qunit tests such as `acceptance/group-logs-test.js.es6`

* Add plugin test eslint to travis config

* Merge some eslint lines
2017-08-02 11:33:29 +09:00
Guo Xiang Tan 5012d46cbd Add rubocop to our build. (#5004) 2017-07-28 10:20:09 +09:00
Robin Ward 5b590b9637 REFACTOR: Replace some `fa-*` uses with helpers 2017-07-27 14:55:41 -04:00
Robin Ward e87125b63c FEATURE: Plugins can overwrite and add support for new icons 2017-07-26 13:21:17 -04:00
Sam 8317fb12e0 FIX: don't escape html of poll options 2017-07-25 13:38:19 -04:00
Sam Saffron 045a2abcec FEATURE: remove the timecop gem
We should only have one way of mocking time, misuse of timecop
was causing build stability issues
2017-07-24 12:11:10 -04:00
Sam 9b4f5710e6 api cleanup for before / after rules 2017-07-21 16:12:11 -04:00
Arpit Jalan d666b73893 Update translations. 2017-07-20 14:57:02 +05:30
Sam b7f58fe880 regression polls could not be closed properly 2017-07-18 14:52:58 -04:00
Sam 93e5112dfa correct poll specs 2017-07-18 14:31:22 -04:00
Sam 1661a8745b correct issues with poll specs
fixes regression where an error message is missing from a poll
with one option
2017-07-17 17:44:48 -04:00
Sam 8921058c67 FIX: medium URL with @ incorrectly handled as mention
Also:

- remove unused code
- rename bbcode_ruler to bbcode.ruler
- add md.core.textPostProcess.ruler to apply at end of chain (excluding links)
2017-07-17 17:44:48 -04:00
Guo Xiang Tan e80a1dfa43 FIX: Post with multiple polls containing votes can not be edited.
https://meta.discourse.org/t/500-internal-server-error-when-editing-specific-poll-in-a-post-with-votes-editing-other-polls-works-fine/59684
2017-07-14 12:33:22 +09:00
Sam 5d139e461c FIX: multi option poll not working (new engine) 2017-07-11 14:43:34 -04:00
Arpit Jalan 25d70ec900 Update Translations 2017-07-05 11:35:35 +05:30
Sam 6200d7d6ab correct bug where only a single poll per topic worked 2017-06-28 15:36:19 -04:00
Guo Xiang Tan a10689de94 Fix broken specs due to new default emoji set. 2017-06-27 10:13:21 +09:00
Neil Lalonde febfe27669 Update translations 2017-06-26 14:56:22 -04:00
Sam 234694b50f Feature: CommonMark support
This adds the markdown.it engine to Discourse.
https://github.com/markdown-it/markdown-it

As the migration is going to take a while the new engine is default
disabled. To enable it you must change the hidden site setting:
enable_experimental_markdown_it.

This commit is a squash of many other commits, it also includes some
improvements to autospec (ability to run plugins), and a dev dependency
on the og gem for html normalization.
2017-06-23 12:01:33 -04:00
Guo Xiang Tan a23ce56682 Update translations. 2017-06-19 12:39:30 +09:00
Robin Ward cc525b1a8d Upgrade QUnit to latest version 2017-06-15 10:12:07 -04:00
Robin Ward 8ae445766f Upgrade Ember to 2.13 2017-06-15 10:12:07 -04:00
Arpit Jalan 4112c2b883 Update translations 2017-06-12 21:24:40 +05:30
Arpit Jalan 266acbcc6c Update Translations 2017-05-29 12:23:49 +05:30
Arpit Jalan f57914ccd8 Update translations 2017-05-22 10:24:44 +05:30
Neil Lalonde 8651fc57a5 Update translations 2017-05-15 11:11:18 -04:00
Neil Lalonde b839eb41ff add space in number of poll voters on mobile 2017-05-15 10:19:40 -04:00
Arpit Jalan a160589e84 Update Translations 2017-05-09 22:59:38 +05:30
Arpit Jalan 1f6ffd5fb0 Update Translations 2017-05-02 16:08:55 +05:30
Neil Lalonde 5259a7824e Update translations 2017-04-27 13:26:15 -04:00
Arpit Jalan df77a827e1 Update Translations 2017-04-24 18:12:40 +05:30
Arpit Jalan ae96631692 Update Translations 2017-04-17 23:46:18 +05:30
Arpit Jalan ff530d6fb3 Update Translations 2017-04-07 22:23:39 +05:30
Rafael dos Santos Silva 3eb125c39b FIX: Fix poll builder qunit tests 2017-04-05 18:07:50 -03:00
Rafael dos Santos Silva 8b383bb26a FIX: Poll builder validation was incorrect 2017-04-05 00:15:39 -03:00
Neil Lalonde c19bf7e1bd Update translations 2017-03-28 10:50:09 -04:00
Bianca Nenciu c423544208 Changed combo-box to number inputs for min, max and step values. 2017-03-15 10:56:11 +08:00
Neil Lalonde 4271aa0b48 Update translations 2017-03-08 11:54:01 -05:00
Neil Lalonde d848916357 FEATURE: Greek language support, thanks to Vasilis Vlachokyriakos 2017-03-01 15:52:55 -05:00
Guo Xiang Tan 112ca20c96 Merge pull request #4675 from tgxworld/fix_polls_forever_broken_if_approval_required
FIX: Polls permanently broken if post requires approval.
2017-03-01 12:56:03 +08:00
Robin Ward e089515dab FIX: Don't try to load avatars in test mode 2017-02-17 16:21:35 -05:00
Neil Lalonde 56233e9ec6 Update translations 2017-02-13 16:42:15 -05:00
Guo Xiang Tan 0988420b48 Fix broken qunit tests. 2017-02-03 12:09:30 +08:00
Guo Xiang Tan 40fae186c9 Remove stray `console.log`. 2017-02-02 17:38:23 +08:00
Guo Xiang Tan 1bc87bca65 Remove debugging code. 2017-02-02 13:49:26 +08:00
Guo Xiang Tan 8bd8f07ce0 FIX: Public polls should not make a request per option. 2017-01-31 17:27:43 +08:00
Neil Lalonde 8ab327665f Update translations 2017-01-26 12:22:14 -05:00
Guo Xiang Tan bed11dfa0e FIX: Polls permanently broken if post requires approval. 2017-01-26 13:29:43 +08:00
Guo Xiang Tan 1da6fc8e3c UX: Highlight user's vote in polls. 2017-01-25 12:02:19 +08:00
Arpit Jalan bcbcfa2078 Update Translations 2017-01-18 22:13:12 +05:30
Guo Xiang Tan 115a1c8680 FIX: Sort is destructive and that is not what we want. 2017-01-16 23:42:31 +08:00
Guo Xiang Tan 8c4dfdfa40 FIX: Votes lost when editing a poll option with votes. 2017-01-16 22:51:57 +08:00
Guo Xiang Tan d4b2a635c7 FIX: Live updates for polls was broken. 2017-01-16 16:57:46 +08:00
Jeff Atwood d87e5ae819 tighten spacing for poll voters list 2017-01-14 22:11:46 -08:00
Arpit Jalan 1570c4e4a7 Update Translations 2017-01-12 13:26:45 +05:30
Neil Lalonde 5a2e989e0d Update translations 2017-01-06 15:53:03 -05:00
Arpit Jalan be303ecef9 Update Translations 2017-01-04 23:43:08 +05:30
Arpit Jalan 4e63880b5d Update Translations 2016-12-29 00:15:25 +05:30
Guo Xiang Tan ed72920444 Make eslint happy. 2016-12-22 11:46:15 +08:00
Guo Xiang Tan 288e5faf6b FIX: Sort needs to be stable. 2016-12-22 11:45:41 +08:00
Robin Ward e3301cd0c8 FIX: Don't load poll results while already loading 2016-12-21 21:26:57 -05:00
Robin Ward e03d5e2140 Reapply Ember 2.10 for good this time!
This reverts commit ddd299f4aa.
2016-12-19 11:19:10 -05:00
Robin Ward ddd299f4aa Revert "Revert "Revert Ember 2.10+ for a short while""
This reverts commit 76bbc481cb.
2016-12-16 10:29:30 -05:00
Robin Ward 76bbc481cb Revert "Revert Ember 2.10+ for a short while"
This reverts commit 21682fd60b.
2016-12-16 09:52:29 -05:00
Robin Ward 21682fd60b Revert Ember 2.10+ for a short while 2016-12-15 16:43:38 -05:00
Robin Ward 28699e66d8 Revert "REVERT: Ember 2.10 -- it's not building properly"
This reverts commit 600541c623.
2016-12-15 10:28:15 -05:00
Neil Lalonde bad98a4987 Update translations 2016-12-14 13:55:24 -05:00
Robin Ward 600541c623 REVERT: Ember 2.10 -- it's not building properly 2016-12-12 16:19:05 -05:00
Robin Ward 765e5e9186 Upgrade to Ember 2.9 2016-12-12 14:44:29 -05:00
Robin Ward f07443b488 Migrate Discourse Polls to use vdom instead of embedded ember 2016-12-09 10:42:56 -05:00
Sam 02b21a26dd Merge pull request #4585 from ibnesayeed/urdu-support
Add initial Urdu support with RTL direction
2016-12-09 13:01:25 +11:00
Arpit Jalan 5cc64103c6 Update Translations 2016-12-08 20:35:03 +05:30
Sawood Alam 49fc54aac6 Add initial Urdu support with RTL direction 2016-12-03 23:17:51 -05:00
Robin Ward ffae39912f FIX: Remove the old poll view before replacing it 2016-12-02 16:41:51 -05:00
Guo Xiang Tan 6b4ef86ac4 Add acceptance test for rendering polls. 2016-12-01 10:58:00 +08:00
Régis Hanol 28b7ef7142 FIX: rendering multiple polls in the same post was broken 2016-11-30 22:59:58 +01:00
Robin Ward d8a69e6bb2 FIX: Use the register within the poll plugin 2016-11-25 11:58:06 -05:00
Arpit Jalan 6168b2c57a Update Translations 2016-11-25 00:37:51 +05:30
Robin Ward 054c428ba3 FIX: Don't modify variables when rendering 2016-11-24 11:34:14 -05:00
Robin Ward 28061316ad Migrate poll plugin to use components 2016-11-21 14:49:46 -05:00
Robin Ward 06254d3163 Remove the last of the `ModalBodyView` uses 2016-11-18 12:13:21 -05:00
Arpit Jalan ece5442c54 Update Translations 2016-11-16 23:42:01 +05:30
Arpit Jalan 541c29ff4d Update Translations 2016-11-09 20:16:29 +05:30
Robin Ward 6a1c05a268 Upgrade ember-qunit 2016-11-08 14:29:50 -05:00
Régis Hanol 71fa9541fa Merge pull request #4531 from rizka10/master
Improve summing of poll percentages to 100
2016-11-03 10:42:59 +01:00
rizka10 4ce99c998b Improve summing poll percentages to 100
My first JavaScript! I have little experience with C++ and even less with Java, but that was enough to figure out a way to solve the task. The solution is rather good, but there may be better ways. I'm going to start a pull request. Even if it gets rejected, an expert can use the idea.

NOTE: The code needs some serious testing before potential merging. I did some testing and it worked, but don't trust in my skills.
2016-11-03 11:11:17 +02:00
Arpit Jalan f057172216 Update Translations 2016-11-02 22:47:35 +05:30
Arpit Jalan 68b559d501 Update Translations 2016-10-27 00:44:53 +05:30
Robin Ward fab36e6cf7 Fix more deprecations:
- Remove all `needs:` code
2016-10-21 17:28:37 -04:00
Arpit Jalan 6eccf9da03 Update Translations 2016-10-20 18:49:09 +05:30
Arpit Jalan 4c614e5233 Update Translations 2016-10-14 00:15:41 +05:30
Arpit Jalan 3002cc4cc7 Update Translations 2016-10-06 21:21:00 +05:30
Arpit Jalan 38c6c69b5a Update Translations 2016-09-28 11:00:36 +02:00
Robin Ward be1d74d207 Split out common functions into `discourse-common` module 2016-09-22 09:52:19 -04:00
Arpit Jalan c1c3237d58 Update Translations 2016-09-21 21:16:03 +05:30
Arpit Jalan 1a87960454 Update Translations 2016-09-13 21:21:19 +05:30
Arpit Jalan d2e1fccc90 Update Translations 2016-09-02 20:12:45 +05:30
Neil Lalonde 4be3b9f36d Update translations 2016-08-25 11:04:46 -04:00
Arpit Jalan e06be6561d Update Translations 2016-08-23 18:48:00 +05:30
Arpit Jalan 25a14fcba8 Update Translations 2016-08-10 23:08:10 +05:30
Guo Xiang Tan 8213da20f2 Extract polls edit window to a site settings. 2016-08-10 15:17:16 +08:00
Neil Lalonde f1bfc74e79 Update translations 2016-08-05 14:39:55 -04:00
Guo Xiang Tan ad44a64c5b UX: Fixes for poll option bars on dark theme. 2016-08-02 09:48:06 +08:00
Guo Xiang Tan dc2cf996af UX: Styles for poll options on dark theme. 2016-08-01 22:07:57 +08:00
Guo Xiang Tan d970f4d3d8 Fix incorrect test. 2016-07-29 17:05:00 +08:00
Guo Xiang Tan 1171936850 FIX: Don't escape strings from polls. 2016-07-29 16:35:57 +08:00
Guo Xiang Tan f9454088c3 FIX: Missing icons on polls preview. 2016-07-29 16:15:52 +08:00
Guo Xiang Tan 89d2340e37 UX: Add margins for poll links in preview. 2016-07-29 15:19:56 +08:00
Guo Xiang Tan ffbfcd7ee2 Fix build. 2016-07-29 14:47:23 +08:00
Guo Xiang Tan e336e56153 FIX: Incorrect sort for poll results. 2016-07-29 14:42:55 +08:00
Guo Xiang Tan f9ef1e1997 Opps this broke polls. 2016-07-29 14:28:09 +08:00
Guo Xiang Tan 6538363c18 PERF: Reduce the number of queries when voting. 2016-07-29 14:02:48 +08:00
Guo Xiang Tan 32c962cfd8 UX: Remove button styles on polls. 2016-07-29 11:09:23 +08:00
Guo Xiang Tan 8e30ab31c2 Merge pull request #4351 from tgxworld/allow_non_number_poll_results_to_be_sorted
FEATURE: Allow poll results to be sorted.
2016-07-29 10:38:29 +08:00
Guo Xiang Tan a7f2b2ded6 FEATURE: Allow poll results to be sorted. 2016-07-29 10:37:27 +08:00
Guo Xiang Tan bb3f4a10f3 UX: Polls should take up full width of post's container. 2016-07-28 23:06:25 +08:00
Guo Xiang Tan 85a91c8b81 Remove unused property. 2016-07-28 21:28:49 +08:00
Neil Lalonde 6a8f57d602 Update translations 2016-07-27 17:55:28 -04:00
Neil Lalonde a3f39866ab Update translations using temporary workaround for Transifex bugs 2016-07-27 13:29:13 -04:00
Guo Xiang Tan 33a628b0b0 UX: Vote now button to show up as primary once options have been selected. 2016-07-21 06:05:06 +08:00
Robin Ward 8141e1d9bc FIX: details fixes with extra formatting 2016-07-19 15:14:55 -04:00