Commit Graph
2323 Commits
Author SHA1 Message Date
Albert Yi 42f7b17a30 Merge pull request #3883 from evazion/refactor-anonymous-user
Refactor AnonymousUser
2018-09-11 12:09:25 -07:00
evazion a0ebd90409 Post#normalized_source: add hitomi.la url normalization. 2018-09-10 20:22:10 -05:00
evazion de10ea66a1 <role>_only: fix role checking logic to check ip bans last.
Make <role>_only methods check the role first and ip bans last. This
avoids hitting the database for anonymous users, since they'll always
fail the is_<role>? check before the ip check.
2018-09-09 21:53:24 -05:00
evazion e546e52bd7 Replace AnonymousUser with User.new.
* Replace AnonymousUser null object with a readonly, unpersisted User object.

* Default always_resize_images to true (previously it was true for
  anonymous users, but false for new members).

* Default comment_threshold to -1 for anonymous users (previously it was
  0 for anonymous but -1 for new members).
2018-09-09 21:53:08 -05:00
evazion 99a5e885e0 artist_url.rb: remove legacy artist url normalization code.
* `legacy_normalize` came from c6012535, which is no longer a problem.

* `normalize_for_search` is only used for "[mass edit]" links
in artist entries. These links are a shortcut for performing a
`-artist_name source:<artist_url> -> artist_name` mass edit to tag
untagged artists, but this won't work for most sites these days.
2018-09-07 12:55:51 -05:00
evazion 8e7dd9e97f artist_url.rb: remove unnecessary deviantart profile url normalization.
This is now handled in the source strategy.
2018-09-07 12:26:50 -05:00
evazion 06cf32160b user.rb: memoize upload limit methods.
These methods get called multiple times when rendering UserPresenter#upload_limit
on the upload page. This caused repeated COUNT(*) queries.
2018-09-06 20:31:51 -05:00
evazion aee1906761 Fix #3738: Artist URL search should be case-insensitive for domains. 2018-09-05 19:14:24 -05:00
Albert Yi 4b9f3e384f include more messaging for user feedback 2018-09-05 16:32:18 -07:00
Albert Yi 22e30186b1 add min bound for post count fixing 2018-09-05 14:08:05 -07:00
Albert Yi e5010bebf9 allow reportbooru to update post counts 2018-09-05 14:04:46 -07:00
Albert Yi 69b7c9efd0 Merge pull request #3838 from evazion/fix-3837
Fix #3837: Remove expired bans.
2018-09-05 12:03:46 -07:00
Albert Yi 8ec96f42f7 fix specs 2018-09-04 13:38:09 -07:00
Albert Yi 0529ec9ad0 Merge pull request #3862 from evazion/fix-3857
Refactor searching text attributes
2018-09-04 13:25:40 -07:00
evazion 6fc2d17886 Post#normalized_source: normalize da urls to new format (#3771) 2018-09-02 11:19:15 -05:00
evazion 0eff095a3e Refactor searching text attributes.
* Allow using ApplicationRecord#attribute_matches to search text attributes,
and standardize models on using this instead of duplicating code.

* Remove restrictions that limited wildcard searches to Builders only in various places.
2018-08-31 19:50:46 -05:00
Albert Yi 512629b1d5 Merge pull request #3847 from r888888888/intelligent-autocomplete
Intelligent autocomplete
2018-08-29 11:15:39 -07:00
Albert Yi 66e413b540 Adds fuzzy string matching and prefix matching 2018-08-28 16:41:52 -07:00
evazion 4f5cb0ba70 Post#has_artist_tag: fix "artist tag is required" triggering incorrectly.
Fixes the "Artist tag is required" upload warning to only trigger when
the source is from a first-party site.
2018-08-28 18:14:21 -05:00
Albert Yi 452413a80e eliminate monthly janitor trial messages 2018-08-28 14:58:00 -07:00
Albert Yi 68c30961ac Merge pull request #3805 from r888888888/refactor-sources
Refactor sources
2018-08-28 12:13:15 -07:00
evazion 6ff70c5002 mod actions: separate account upgrades from promotions (fix #3841) 2018-08-26 11:12:04 -05:00
evazion 3dafca9aec Fix #3842: Mods can demote other mods or admins. 2018-08-25 13:52:50 -05:00
evazion 0bb787d987 Post.pending_or_flagged: fix ambiguous column reference.
Fixes an ambiguous column reference error when searching for
`status:unmoderated` on the comments page:

    https://danbooru.donmai.us/comments?group_by=comment&search[post_tags_match]=status:unmoderated

Also removes the `id in (...)` subquery checking whether flagged posts
have a flag from the last week; this is always true.
2018-08-25 11:26:00 -05:00
evazion e33d6f9e84 Post#is_approvable?: fix 'Approve' link appearing on approver's own uploads.
Fixes the 'Approve' link in the modqueue and in the quickmod bar being
shown as available on the approver's own flagged uploads, even though
they can't actually approve these posts.
2018-08-25 11:12:37 -05:00
evazion 2cdd022c37 Fix #3837: Remove expired bans. 2018-08-24 16:49:34 -05:00
Albert Yi 762dc3da24 Refactor sources 2018-08-24 12:10:51 -07:00
Albert Yi d8a6cee244 Merge pull request #3832 from evazion/feat-modqueue-metatags
Add status:<unmoderated|modqueue>, disapproval:<type> metatags
2018-08-23 13:53:33 -07:00
evazion 83cca4a382 PostDisapproval: fix duplicate initialize_attributes definition. 2018-08-23 15:24:57 -05:00
evazion 85ae2cda0d optimization: prefer relation.none over relation.where("false")
Using `relation.none` instead of `relation.where("false")` avoids an sql query.
2018-08-23 15:21:51 -05:00
evazion 4f02c7f70a search: add status:modqueue, status:unmoderated metatags.
* status:modqueue = ~status:pending ~status:flagged
* status:unmoderated = status:modqueue -user:self -approver:self -disapproval:any
2018-08-23 14:48:39 -05:00
evazion 89c4fe150a search: add disapproval:<any|none|disinterest|poor_quality|breaks_rules> metatag. 2018-08-23 14:08:02 -05:00
evazion 9a0f37e359 Fix #3715: Provide any/none modifiers for pixiv: metatag 2018-08-22 00:25:38 -05:00
evazion 8cc393183e Fix #3754: Include unbans in Mod Actions. 2018-08-22 00:08:33 -05:00
evazion 03a97d2962 Post#normalized_source: add toranoana.jp normalization. 2018-08-21 00:07:58 -05:00
evazion 33506839c4 Post#normalized_source: fix gelbooru source normalization.
Didn't handle https or md5-based subdirs:

    https://gelbooru.com//images/57/a3/57a3676a63e5cf4ab05463a3a9a953bb.jpg
        ^                        ^^^^^
2018-08-20 15:02:08 -05:00
evazion c504ad555d Fix #3822: Move favorites (while deleting) fails if user has also favorited destination 2018-08-19 00:54:17 -05:00
evazion 3419193341 Post#normalized_source: fix twipple.jp normalization. 2018-08-19 00:33:31 -05:00
evazion 03cf4c917e Post#normalized_source: prefer https links where supported. 2018-08-19 00:31:07 -05:00
evazion 4eead40f4d Fix #3823: Add Photozou source normalization. 2018-08-18 23:23:48 -05:00
evazion fb91bbc6c5 Fix #3813: Favorite limit can be bypassed. 2018-08-12 14:22:08 -05:00
evazion 202527008f user.rb: drop unused add_favorite!, delete_favorite! methods.
These methods were incorrect anyway, didn't upvote/downvote the post.
2018-08-12 12:35:15 -05:00
evazion 130570aa33 comments.js: fix thresholded comments.
* Restore behavior of thresholded comments being greyed out (lost in 6fa0ae2cf).

* Set the `below-threshold` class for thresholded comments in the html instead of in javascript.

* Remove `include_below_threshold` param; it was always true when clicking "Show all comments".
2018-08-09 14:45:26 -05:00
evazion c615b53a7e Fix broken "Link to alias" / "Link to implication" forum links.
/tag_implications was changed to filter out inactive implications by
default when the `status` param wasn't given.

This broke "Link to implication":/tag_implications?search[id]=NNN links
inside pending implication requests in forum posts. These links now
return an empty search instead of the pending implication.

Hiding inactive aliases/implications by default also changed the API behavior.
2018-08-09 12:49:40 -05:00
Albert Yi b56681a609 refactor solution for #3804 2018-08-07 13:31:45 -07:00
Albert Yi ea4e7f1970 Expire unused aliases and implications after 2 years of inactivity 2018-08-01 16:54:48 -07:00
Albert Yi ad4756b5f2 add deviantart.com in artist domain blacklist (#3771) 2018-07-27 16:35:23 -07:00
Albert Yi 95b72f5f5c normalize https into http for artist urls 2018-07-27 14:25:47 -07:00
Albert Yi 135b97d511 additional fixes for deviantart artist search (#3771) 2018-07-27 12:31:26 -07:00
Albert Yi 77854349e5 testing 2018-07-26 18:11:19 -07:00