Commit graph

286 commits

Author SHA1 Message Date
riking
1833b43ae2 FEATURE: Badge query validation, preview results, and EXPLAIN
Upon saving a badge or requesting a badge result preview,
BadgeGranter.contract_checks! will examine the provided badge SQL for
some contractual obligations - namely, the returned columns and use of
trigger parameters.

Saving the badge is wrapped in a transaction to make this easier, by
raising ActiveRecord::Rollback on a detected violation.

On the client, a modal view is added for the badge query sample run
results, named admin-badge-preview.
The preview action is moved up to the route.
The save action, on failure, triggers a 'saveError' action (also in the
route).

The preview action gains a new parameter, 'explain', which will give the
output of an EXPLAIN query for the badge sql, which can be used by forum
admins to estimate the cost of their badge queries.
The preview link is replaced by two links, one which omits (false) and
includes (true) the EXPLAIN query.

The Badge.save() method is amended to propogate errors.

Badge::Trigger gets some utility methods for use in the
BadgeGranter.contract_checks! method.

Additionally, extra checks outside of BadgeGranter.contract_checks! are
added in the preview() method, to cover cases of null granted_at
columns.

An uninitialized variable path is removed in the backfill() method.

TODO - it would be nice to be able to get the actual names of all
columns the provided query returns, so we could give more errors
2014-08-31 11:25:44 -07:00
Jeff Atwood
4281b16616 UX: dim the new and unread education 2014-08-29 22:54:11 -07:00
Régis Hanol
38f52f0f8e FIX: banner topic's max-width & max-height on both mobile & desktop 2014-08-28 16:15:48 +02:00
Robin Ward
09ea159afc UX: Add link to change username on admin page 2014-08-27 13:52:01 -04:00
Sam
64331e2ac1 row style is common, its the way we clear divs 2014-08-26 07:41:29 +10:00
Jeff Atwood
3a010c34cc smallenate anon drop-down topic counts 2014-08-25 12:14:47 -07:00
Jeff Atwood
ae9fcf17ef make period chooser (/top h2) unselectable on touch 2014-08-22 17:01:12 -07:00
Kris Aubuchon
a8e6e1e3d5 adding highlight back to topic-list 2014-08-22 10:45:51 -04:00
Robin Ward
c1aa2458f8 UX: Add drop down for top lists, big refactor of repeated code. 2014-08-21 16:08:47 -04:00
Régis Hanol
8a20d05ba5 FEATURE: backup without uploads 2014-08-20 18:53:58 +02:00
Régis Hanol
9f72971d26 FEATURE: add the pencil glyph when the post was edited after the first flag 2014-08-18 18:56:39 +02:00
Jeff Atwood
e9bfb1c89e make share link input field readonly, with css tweaks 2014-08-17 23:08:53 -07:00
Jeff Atwood
c04b7cfe8a only do two levels of coldmapping 2014-08-14 22:27:10 -07:00
Jeff Atwood
f8cb0b6452 we have two sets of heatmap colors, apparently 2014-08-14 21:55:17 -07:00
Jeff Atwood
c32f64fe94 more betterer heat/coldmap color scheme 2014-08-14 21:36:35 -07:00
Jeff Atwood
e539e6ff21 try grey instead of blue for coldmap range 2014-08-14 16:42:31 -07:00
Kris Aubuchon
56e7ca10fe swapping around heatmap low/high 2014-08-14 09:33:41 -04:00
Jeff Atwood
48051127fc improve keyboard shortcut help layout 2014-08-14 02:54:53 -07:00
Kris Aubuchon
982b007604 heatmap/coldmap should stay red/blue despite theming 2014-08-13 16:38:49 -04:00
Jeff Atwood
c89a354fb1 clean up some flag page styles and alignment 2014-08-12 23:52:43 -07:00
Jeff Atwood
c83a742bec notification dropdown should not be selectable 2014-08-12 23:32:16 -07:00
Kris Aubuchon
6166e78888 adding hover state to notification menu, and small additional fixes 2014-08-13 00:03:29 -04:00
Robin Ward
e49ef042f1 UX: Remove icon from sign up button, change button order 2014-08-12 13:51:00 -04:00
Robin Ward
1684ff3015 UX: Add a separate "Sign Up" button 2014-08-12 13:47:23 -04:00
Jeff Atwood
63d71fde80 tighten spacing on flags page 2014-08-12 03:49:19 -07:00
Kris Aubuchon
2ce291c2ab small fixes for dark themes 2014-08-12 00:11:58 -04:00
Robin Ward
c8767dc505 UX: Tweak about page 2014-08-11 18:15:49 -04:00
Robin Ward
996d14965e Minor UX tweaks 2014-08-11 17:03:12 -04:00
Robin Ward
c103398e9a First stab at About page 2014-08-11 16:59:15 -04:00
Régis Hanol
5e41408b55 FEATURE: use less space for flag dispositions 2014-08-11 22:28:11 +02:00
Jeff Atwood
5a1162418d lightbox size was black on black 2014-08-09 15:21:53 -07:00
Jeff Atwood
70d639c241 fix irritating padding asymmetry on notifications 2014-08-08 12:30:44 -07:00
Régis Hanol
4f60eb6c77 FIX: banner on mobile 2014-08-08 12:31:32 +02:00
Régis Hanol
7e7938e37f FIX: smaller agree/delete flag modals on mobile 2014-08-08 12:10:32 +02:00
Régis Hanol
fb0ee2401e FIX: alignment in notifications 2014-08-06 19:08:12 +02:00
Kris Aubuchon
38696e5a30 bettering support for dark ez-themes 2014-08-06 09:31:13 -04:00
Régis Hanol
3330f5907c FEATURE: restructure notification HTML layout 2014-08-05 23:36:37 +02:00
Jeff Atwood
40bcead099 add a better style for anon cat hamburger 2014-08-04 22:01:08 -07:00
Jeff Atwood
1efc4e2098 tone down new/unread on hamburger categories 2014-08-04 21:17:38 -07:00
Sam
ef5b18779e FEATURE: merge new and old unread counts on categories page
UI: restyle UI to match counts
2014-08-05 10:44:01 +10:00
Jeff Atwood
6fb683ff9a tone down new/unread on /categories 2014-08-04 15:41:46 -07:00
Régis Hanol
ec30086dea FEATURE: agree all the flags 2014-08-04 22:48:04 +02:00
Neil Lalonde
212d580745 FIX: styling of bouncing validation errors in composer was broken 2014-08-01 15:11:55 -04:00
Régis Hanol
b414a3590a FIX: flag count displayed at wrong position 2014-08-01 19:03:12 +02:00
Jeff Atwood
05e2f5c4a9 missed a few #topic-progress spots, go 145px 2014-08-01 01:41:06 -07:00
Jeff Atwood
2c44ac4454 slightly wider topic-progress bar 2014-07-31 21:53:28 -07:00
Régis Hanol
b196de0821 TRIVIAL: use class instead of id for the 'topic-list' 2014-07-29 23:38:36 +02:00
Régis Hanol
bddffa7f9a FEATURE: flag dispositions normalization
All flags should end up in one of the three dispositions
  - Agree
  - Disagree
  - Defer

In the administration area, the *active* flags section displays 4 buttons
  - Agree (hide post + send PM)
  - Disagree
  - Defer
  - Delete

Clicking "Delete" will open a modal that offer to
  - Delete Post & Defer Flags
  - Delete Post & Agree with Flags
  - Delete Spammer (if available)

When the flag has a list associated, the list will now display 1
response and 1 reply and a "show more..." link if there are more in the
conversation. Replying to the conversation will NOT give a disposition.
Moderators must click the buttons that does that.

If someone clicks one buttons, this will add a default moderator message
from that moderator saying what happened.

The *old* flags section now displays the proper dispositions and is
super duper fast (no more N+9999 queries).

FIX: the old list includes deleted topics
FIX: the lists now properly display the topic states (deleted, closed,
archived, hidden, PM)
FIX: flagging a topic that you've already flagged the first post
2014-07-28 19:28:07 +02:00
Kris Aubuchon
22efc2147b fixing tiger striping on mobile 2014-07-28 10:33:23 -04:00
Sam
1a6aa07611 FEATURE: editable badge groups 2014-07-27 18:22:01 +10:00