Commit Graph
1733 Commits
Author SHA1 Message Date
Albert Yi 8cd07ae70b Merge pull request #2937 from evazion/fix-move-fav-upvotes
Upvote correctly when moving favorites (partial fix for #2936)
2017-03-27 15:24:13 -07:00
evazion 5f1b7f48f7 Fix exception when autotagging animated_gifs.
Fixes this exception caused by the animated_gif autotagger trying to access the
image file, which fails if the image is not hosted on the webserver.

Magick::ImageMagickError exception raised

    unable to open image `/var/www/danbooru2/releases/20170322212609/public/data/f0e32c0e2d906c4932858866346f98b5.gif': No such file or directory @ error/blob.c/OpenBlob/2712
    app/models/post.rb:177:in `ping'
    app/models/post.rb:177:in `is_animated_gif?'
    app/models/post.rb:684:in `add_automatic_tags'
    app/models/post.rb:638:in `normalize_tags'
    app/controllers/posts_controller.rb:49:in `update'
2017-03-26 18:12:13 -05:00
evazion 3dc854c0c8 post_vote.rb: determine vote magnitude from voter, not CurrentUser.
Bug: when moving favorites, the parent is given an upvote for each gold+
favoriter, but the magnitude of these upvotes was based on the
CurrentUser, rather than the upvoter. This meant that upvotes for
supervoter favorites weren't given correctly.

To fix this, `magnitude` is changed to use the voting `user` instead of
CurrentUser.

New problem: when setting the score, `score=` calls `magnitude`, but
`user` isn't initialized yet. So we also refactor so that

    1. `initialize_attributes` initializes `user` before setting `score`
    2. the vote direction is given by `vote`, so it's separate from `score`
    3. updating the score on the post happens in a callback instead of
       directly in `score=`.
2017-03-24 15:43:55 -05:00
evazion 07707b257a post.rb: make non-gold supervoters upvote when fav'ing a post. 2017-03-24 15:43:55 -05:00
evazion fd24ea5876 posts.rb: vote on behalf of correct user when moving favorites.
Bug: when an approver moves the favorites of a post, each favorite is
removed from the child post and added to the parent post. For gold+
users, this triggers an upvote, but these upvotes were performed by the
approver rather than the favoriter.
2017-03-24 15:43:28 -05:00
evazion 4fde2a26fb post.rb: handle automatic *_(cosplay) tags in TagImplication. 2017-03-23 02:48:03 -05:00
evazion 0793beded9 alias_and_implication_list: refactor alias/implication lookup.
Add alias and implications associations to Tag. Use them in
alias_and_implication list instead of duplicating the alias/implication
lookup code.
2017-03-23 02:47:21 -05:00
r888888888 b3e3012a9c link to upload advice thread for deleted posts 2017-03-22 16:33:14 -07:00
evazion 47ecf034a7 /posts/:id/events - fix exception when viewed by mod.
NoMethodError exception raised

    undefined method `creator' for #<PostEvent:0x007f9a298e64d8> Did you mean? creator_id
    app/views/post_events/index.html.erb:23:in `block in _app_views_post_events_index_html_erb__2088986421112502721_70150054247640'
    app/views/post_events/index.html.erb:18:in `each'
    app/views/post_events/index.html.erb:18:in `_app_views_post_events_index_html_erb__2088986421112502721_70150054247640'
    app/controllers/post_events_controller.rb:6:in `index'
2017-03-21 17:17:18 -05:00
r888888888 23da9c6f89 fixes #2911 2017-03-21 13:56:48 -07:00
r888888888 70d057f8f3 move saved search option to sidebar 2017-03-20 16:19:15 -07:00
evazion 5ba1df5502 /posts/:id/events: list is_resolved correctly for appeals.
/posts/:id/events incorrectly lists appeals as always being resolved.
This is because events UNION together appeals and flags, which doesn't
quite work because for appeals is_resolved is a method, not an
attribute. is_resolved was hardcoded to true so it'd work in the UNION.

This changes PostEvent to be a wrapper object around PostFlag /
PostAppeal, instead of a UNION. PostEvent delegates everything to the
inner flag/appeals object, so that is_resolved works correctly.

Also, this incidentally fixes a problem with /posts/:id/event.xml not
serializing correctly.
2017-03-19 22:47:10 -05:00
r888888888 d22d655d43 fix Post#set_tag_counts 2017-03-17 19:10:55 -07:00
r888888888 f1ba075bea support disable_cache for Tag.categories_for 2017-03-17 18:41:33 -07:00
r888888888 5cef0321f2 switch to use Cache.get_multi for tag types 2017-03-17 18:36:53 -07:00
r888888888 c3c4952e35 do not limit flags for system user 2017-03-17 12:17:27 -07:00
r888888888 ecdea34323 revert e7b3fae215 2017-03-17 12:13:27 -07:00
r888888888 bdeba94b31 fix error case in saved search 2017-03-16 15:17:55 -07:00
r888888888 e7b3fae215 change daily flag limit to 5/day 2017-03-16 14:32:04 -07:00
r888888888 d9a26975ba fix tests 2017-03-15 16:08:47 -07:00
r888888888 da06bee0ab revamp saved search implementation 2017-03-15 15:36:48 -07:00
r888888888 e946d23fa7 enable s3 proxy (wave 1) 2017-03-09 18:18:06 -08:00
r888888888 97cc8b5931 ignore privacy mode settings for admins 2017-03-09 13:52:46 -08:00
r888888888 43f31529d7 fixes #2920: "Undo" function not working for Post Versions 2017-03-09 11:44:28 -08:00
r888888888 7f2ad3c80b validate max length of forum topic 2017-03-06 15:13:30 -08:00
evazion 3db7244109 post_archive.rb: readd associations. 2017-03-02 17:45:16 -06:00
evazion 2bb134f08d modqueue: highlight uploads containing "bad" tags. 2017-03-01 15:31:16 -06:00
r888888888 e94edc9a75 switch approver and post pruners to use system user 2017-02-28 17:10:36 -08:00
r888888888 27f7f4f12e remove postarchive export method 2017-02-28 16:50:51 -08:00
r888888888 12e4a82db3 fix upload tags report 2017-02-28 16:28:58 -08:00
r888888888 7f22baa1bc refactor upload tags report 2017-02-28 15:34:40 -08:00
Albert Yi 458a9692d6 Merge pull request #2864 from r888888888/upload_tags_report
Implement #2863: basic upload tags change report
2017-02-28 15:28:40 -08:00
Albert Yi fd7cddc909 Merge branch 'master' into fix-mention-dmails 2017-02-27 17:00:24 -08:00
r888888888 80f439f075 fixes #2898: Wiki Page Versions still not recording "is_deleted" 2017-02-27 16:57:24 -08:00
Albert Yi 1fa0aabbe0 Merge pull request #2896 from evazion/fix-username-whitespace
Disallow unicode whitespace in usernames (#2894).
2017-02-27 16:47:44 -08:00
r888888888 b332273378 fixes #2892: after_destroy callbacks should be fired upon comment deletion 2017-02-27 16:45:51 -08:00
r888888888 a90a1bd895 fix boolean checks in postarchive 2017-02-27 15:41:45 -08:00
r888888888 16cd879e08 potential fix for #2900: Post Versions JSON API failure - undefined method join 2017-02-27 15:22:15 -08:00
r888888888 398f58684f Merge branch 'post-archive' 2017-02-27 10:45:13 -08:00
evazion 46280f2227 mentions: include mentioner in subject line.
The template looks like this:

Subject:

    #{creator_name} mentioned you in a comment on post ##{post_id}

Body:

    @#{creator_name} mentioned you in a \"comment\":/posts/#{post_id}#comment-#{id} on post ##{post_id}:

    [quote]
    #{DText.excerpt(body, "@"+user_name)}
    [/quote]
2017-02-25 23:05:44 -06:00
evazion 6e3ddb6ed6 dmails: don't save copies of outgoing dmails sent by DanbooruBot.
There's not much sense in saving copies of everything DanbooruBot sends
in DanbooruBot's inbox. They probably won't be checked so it just bloats
the dmails table.
2017-02-25 23:05:44 -06:00
evazion 6966b74e18 Disallow unicode whitespace in usernames (#2894). 2017-02-25 01:51:33 -06:00
r888888888 2ebdfd7ab3 add s3 methods to amazonbackup 2017-02-24 14:00:59 -08:00
r888888888 8a57d38f38 remove statement about responding in automated messages 2017-02-24 10:36:45 -08:00
evazion b1af644f67 dmails: send automated dmails from Danbooru.config.system_user.
Sends automated dmails from `Danbooru.config.system_user`, rather than
whichever user is performing the action happens to be (usually User.admins.first).

Also adds a notice in the view that the dmail was automated.
2017-02-23 22:51:17 -06:00
evazion 1400f64338 dmails_controller.rb: convert to strong params. 2017-02-23 22:51:17 -06:00
evazion 0c4b687880 user_name_change_requests.rb: remove unused notify_admins callback. 2017-02-23 22:51:17 -06:00
evazion d852f98e4f /dmails: remove unused search[owner_id] param.
/dmails is restricted to viewing dmails for CurrentUser only (due to
Dmail.visible in the index action). Remove owner_id from subnavbar links
in /dmails, and don't support it in /dmails?search[owner_id], since it
doesn't actually do anything.

Also removes related dead methods and fixes tests that didn't test owner_id properly.
2017-02-23 22:51:17 -06:00
evazion 6de350cd7d dmail.rb: remove dead new_blank method. 2017-02-23 22:51:17 -06:00
evazion 35bf995276 dmail.rb: make to_name= use User.name_to_id cache. 2017-02-23 22:51:17 -06:00