Commit Graph
100 Commits
Author SHA1 Message Date
evazion 624444d51d artists: validate that urls are well-formed (fix #2346). 2017-07-29 01:44:05 -05:00
evazion 10614d2152 artists: show success/error message when updating artists. 2017-07-29 01:44:05 -05:00
evazion 6121b8cb25 artists: simplify artist url saving code.
Refactor the way artist urls are saved so that artist url validations
run before the artist is saved, not after.
2017-07-29 01:41:37 -05:00
evazion 4b635628cc Fix #3243: Don't create new note versions when nothing is changed. 2017-07-28 17:41:05 -05:00
evazion 76b4b365ae post replacements: don't queue deletion when file is unchanged (#3235).
When replacing a post with the same file, don't queue a deletion and
don't leave a comment or modaction. There's no need to do these things
when we're restoring a missing or corrupted image with the original file.
2017-07-27 16:26:35 -05:00
evazion 80e8c9d174 strategies/pixiv.rb: removed unused methods (#3206).
The page count and the moniker are now obtained from the API.
2017-07-26 18:17:04 -05:00
evazion 7ae860a8b8 Drop Pixiv whitecube support (#2681, #3206). 2017-07-26 18:06:46 -05:00
evazion 22980c845a tests: fix pixiv ugoira urls. 2017-07-25 00:36:18 -05:00
evazion b53371b698 Fix #3235: Replacements deleting files currently in use. 2017-07-24 23:43:38 -05:00
evazion 11ef460db0 post replacements: allow replacing post with identical file. 2017-07-24 23:05:34 -05:00
evazion 67528ce5ab Fix hidden attribute leaks in legacy post controller (#3237). 2017-07-24 20:35:12 -05:00
evazion f2bf756422 Fix hidden attribute leaks in data attributes (#3237). 2017-07-24 20:35:12 -05:00
evazion 9893dc1734 Fix #3237: Meta tags expose posts with censored tags. 2017-07-24 19:40:35 -05:00
evazion 0129891213 Fix #1156: Allow sequential search navigator to work without a search. 2017-07-24 19:30:30 -05:00
evazion e3c45a9c70 danbooru_default_config.rb: add css_server, ccs_key. 2017-07-22 00:42:13 -05:00
evazion 96fddc5bec Fix #3234: Incorrect filesize on upload page. 2017-07-22 00:34:30 -05:00
evazion 6682ae10eb /users/:id/edit: redirect back to settings instead of profile. 2017-07-21 01:18:42 -05:00
evazion bda285d97f Post#expunge!: simplify has_children flag logic. 2017-07-21 00:13:20 -05:00
evazion 44f6673d94 Post#expunge!: run callbacks when reparenting children.
* Set parent IDs with `update` instead of `update_column` /
  `update_all` when reparenting children. This fixes it so that new post
  versions are saved and the has_children flag is set on the new parent.

* Slightly simplify logic of update_children_on_destroy: the single
  child case is subsumed by the multi-child case.
2017-07-21 00:13:20 -05:00
evazion fbee7f6912 Post#expunge!: fix remove_pool! to remove posts from deleted pools.
Don't silently ignore attempts to remove posts from deleted pools.
Remove the restriction on removing posts from deleted pools instead (ref: #1109).

Fixes failure to remove posts from deleted pools during expungement.
2017-07-21 00:13:20 -05:00
evazion 1b310dcc0b Post#expunge!: fix remove_from_all_pools to clear deleted pools.
* Change Post#pools to return all pools, including deleted pools. This
  fixes remove_all_from_pools to remove the post from deleted pools too.

* Change other users of Post#pools to explicitly select undeleted pools.
2017-07-21 00:13:20 -05:00
evazion bac8ff4de0 Post#expunge!: destroy post replacements on expunge. 2017-07-21 00:13:20 -05:00
evazion 3ed14ae782 Post#expunge!: wrap in transaction. 2017-07-21 00:13:20 -05:00
evazion 1fe6a5fc65 Fix #3225: Exception in NoteSanitizer#relativize_links. 2017-07-19 21:13:04 -05:00
evazion 93d44c6b84 Fix #3224: 403 Forbidden when logging in to DeviantArt.
Login fails if the User-Agent isn't set while POST'ing the login
credentials.
2017-07-19 20:25:27 -05:00
evazion 8125d8e796 Set the default User-Agent sent for outgoing http requests.
* Add a `Danbooru.config.http_headers` config option.

* Refactor various places to use this option instead of setting the user
  agent manually.
2017-07-19 20:25:27 -05:00
evazion 7cb7c2fbab Remove ruby DText implementation (#3206). 2017-07-19 16:48:42 -05:00
evazion 5d013f9c88 /dmails: remove max-width: 50em rule (#3185). 2017-07-19 15:30:14 -05:00
evazion b545a5e7f4 Fix related tags overflow in detachable tag edit dialog (fix #3219).
Bug: resizing the tag edit dialog then expanding the related tags
section doesn't resize the dialog to fit the expanded related tags
section. Instead a scrollbar appears.

Fixes this by expanding the dialog's height when the related tags are
shown.
2017-07-17 19:00:12 -05:00
evazion ffbf5bbcdf Factor out related tags visibility toggling code. 2017-07-17 18:58:20 -05:00
evazion 5d48244df4 Fix related tags overflow in detachable tag edit dialog (#3219).
Fixes these issues with the detachable tag edit dialog:

* Moving the edit dialog then expanding the related tags causes the
related tags to overflow outside the dialog.

* Expanding the related tags, moving the edit dialog, then collapsing
the tags causes the dialog to not resize back to its minimized size.
2017-07-17 18:29:06 -05:00
evazion be4414ae70 /user_upgrades/new: mention debit cards (fix #3221). 2017-07-17 17:01:18 -05:00
evazion 269f69efd8 /user_upgrades/new: convert tabs to spaces. 2017-07-17 16:58:38 -05:00
evazion 19d3df058f /user_upgrades/show: fix typo. 2017-07-17 16:58:34 -05:00
evazion 099ae86cc6 Remove duplicate WikiPageVersion#visible? method.
Already defined by `delegate :visible?, :to => :wiki_page`.
2017-07-14 18:43:52 -05:00
evazion 695804fdda Remove duplicate FavoriteGroup#strip_name method.
This method was defined twice.
2017-07-14 18:39:48 -05:00
evazion cbbf68bdd8 Remove unused tests (#3206). 2017-07-14 18:22:02 -05:00
evazion 4ead45a787 Remove Post#validate_parent_does_not_have_a_parent method (#3206).
Not used; posts are allowed to have grandparents.
2017-07-14 17:49:12 -05:00
evazion 45676491ff Post.fast_count: remove uses of unused statement_timeout param (#3206).
Not used since 81684e6.
2017-07-14 17:35:42 -05:00
evazion 79b21bbca8 Fix failure in Pixiv API call (#3135).
Forgot to send authentication headers with API call.
2017-07-13 15:58:17 -05:00
evazion 5066f75d8c Fix Net::HTTPOK#read_body called twice error during upload (#3135)
Fixes this exception:

    An error occurred: error: IOError - Net::HTTPOK#read_body called twice

    /home/admin/.rbenv/versions/2.3.4/lib/ruby/2.3.0/net/http/response.rb:196:in `read_body'
    /home/admin/.rbenv/versions/2.3.4/lib/ruby/gems/2.3.0/gems/httparty-0.15.5/lib/httparty/response.rb:91:in `method_missing'
    /home/admin/src/danbooru/app/logical/downloads/file.rb:43:in `block (2 levels) in download!'
    /home/admin/src/danbooru/app/logical/downloads/file.rb:41:in `open'
    /home/admin/src/danbooru/app/logical/downloads/file.rb:41:in `block in download!'
    /home/admin/src/danbooru/app/logical/downloads/file.rb:100:in `http_get_streaming'
    /home/admin/src/danbooru/app/logical/downloads/file.rb:39:in `download!'
    /home/admin/src/danbooru/app/models/upload.rb:408:in `download_from_source'
    /home/admin/src/danbooru/app/models/upload.rb:113:in `block in process_upload'
2017-07-13 15:41:36 -05:00
evazion 9d9ac53e4d /artists/:id - add missing blacklist controls. 2017-07-13 14:15:07 -05:00
evazion 3e3844a796 Remove unused tag subscription code (#2956, #3206). 2017-07-13 13:44:26 -05:00
evazion d3d4e3cc8d Fix #3216: Allow note URL # anchors to work from the post itself 2017-07-12 21:53:26 -05:00
evazion ed7b80c016 /{pools,favgroups}/:id/order/edit: add blacklist controls. 2017-07-11 21:18:00 -05:00
evazion 58923deaa7 saved_searches.js: fix typo. 2017-07-11 19:40:54 -05:00
evazion 6e3763e7d7 Remove minlength for autocompleting labels in saved search dialog.
Trigger autocomplete after typing the first letter when adding labels in
the saved search dialog.
2017-07-11 19:27:04 -05:00
evazion 51d0feb2c6 Fix #3214: Add autocomplete for saved searches.
* Autocomplete the `search:<label>` metatag.

* Make label autocompletion do a prefix match instead of a substring
  match. Example: `search:ar` matches `artists`, not `characters`. This
  is how tags and most other things are autocompleted.
2017-07-11 19:24:49 -05:00
evazion dc079d7932 /saved_searches/labels.json: support wildcards in search[label] param. 2017-07-11 19:21:41 -05:00
evazion 76c90cc0e4 Remove unused Pool methods: create_anonymous/options/id_to_name (#3206)
* Pool.id_to_name: never used.
* Pool.create_anonymous: never used.
* Pool.options: unused since e7aff87.
2017-07-09 14:32:17 -05:00
evazion f3b0a0a9e9 Remove unused KeyValue model (#3206). 2017-07-09 14:30:44 -05:00
evazion af35c82d96 Remove unused Artist#legacy_api_hash method (#3206).
Added in 0e0d83c7 but never used. app/views/legacy/artists.{json,xml}.erb
is what *would* use this, but neither does.
2017-07-09 13:49:20 -05:00
evazion cc8986641b Fix #3208: Fix translated tag suggestions for Pixiv.
* Only suggest the Danbooru tag with the same name if there is no
  matching wiki other name. Example: if we have the Pixiv tag `Fate` and
  the Danbooru tag `fate_(series)` with other name `fate`, suggest that,
  not the Danbooru tag `fate`.

* Don't suggest tags that are empty or whose wiki is deleted.

* Only split tags on "/" if there are no other matches, and only for Pixiv.

* For Pixiv, only include traditional media tags in tag list, not digital media (Photoshop, SAI).

* Add some tests.
2017-07-09 12:10:30 -05:00
evazion e875f2973a /notes, /note_versions: link directly to note within post.
Also adds a "»" link, linking to the note's history.
2017-07-07 16:39:10 -05:00
evazion c13000a41e notes: show note id in note edit dialog title. 2017-07-07 16:09:24 -05:00
evazion ab0b4b4c67 notes: highlight notes linked via /posts/456#note-123. 2017-07-07 16:09:24 -05:00
evazion c2e62b77fa notes: move js initialization into initialize_all function. 2017-07-07 16:09:24 -05:00
evazion 0bc55bec74 notes: redirect /notes/123 to /posts/456#note-123. 2017-07-07 16:09:23 -05:00
evazion df33901938 PostQueryBuilder: remove unused has_constraints attr (#3206).
This was previously used to prevent searches that contained only negated
tags. No longer used.
2017-07-07 16:08:02 -05:00
evazion e3922fb525 flags/appeals controllers: remove unused check_privilege method (#3206). 2017-07-07 15:47:57 -05:00
evazion 24b2f2bf52 /user/dmail_filter: make available to banned users.
`ensure_ownership` handles the privilege check here.
2017-07-07 15:41:09 -05:00
evazion d092b870ad /users/:id/api_keys: make available to banned users.
`check_privilege` already handles the privilege check here.
2017-07-07 15:40:40 -05:00
evazion 0c79d2f09e Removed unused controllers actions / routes (#3206). 2017-07-07 15:38:06 -05:00
evazion d786fc7a55 Removed unused UploadTagsReport controller (#3206).
This was moved to ReportsController#upload_tags as of 7f22baa.
2017-07-07 14:46:04 -05:00
evazion 9e39d292a6 Fix /bulk_update_requests/1234.json. 2017-07-07 14:33:16 -05:00
evazion 400127c090 /saved_searches: make available to banned users. 2017-07-06 19:26:23 -05:00
evazion f5209c7fb9 /favorites: make available to anonymous users. 2017-07-06 19:22:57 -05:00
evazion e6a5d1e9e8 /bulk_update_requests: make available to anonymous users. 2017-07-06 19:20:38 -05:00
evazion 0ed2dafdce /iqdb_queries: make available to anonymous users. 2017-07-06 19:18:45 -05:00
evazion 216243a354 /forum_posts/search: make available to anonymous users. 2017-07-06 19:18:15 -05:00
evazion 3a8cae4de1 /notes/search: make available to anonymous users. 2017-07-06 19:16:43 -05:00
evazion d8f8983f94 /uploads/report_tags: make available to anonymous users. 2017-07-06 19:16:03 -05:00
evazion ecf5040160 /uploads: make available to anonymous users. 2017-07-06 19:14:17 -05:00
evazion bef02e0ac1 /wiki_pages/search: make available to anonymous users. 2017-07-06 19:12:17 -05:00
evazion ef1db967f7 /dmails: allow banned users to read/delete dmails. 2017-07-06 18:39:42 -05:00
evazion cda1ee3d88 /users: allow banned users to edit account settings.
The member_only check prevents banned users from editing their account
settings. This isn't needed since check_privilege handles the privilege check.
2017-07-06 18:39:42 -05:00
evazion cc54c16fac /artists/show_or_new: make public; add "artist doesn't exist" page.
* Fix access denied error when anonymous users open /artists/show_or_new.

* When the artist doesn't exist, take user to "artist doesn't exist"
  page instead of redirecting to /artists/new.
2017-07-06 18:37:13 -05:00
evazion e5598be20e Factor out artists/show view into artists/_show layout. 2017-07-06 18:15:12 -05:00
evazion 68bf355542 upload tags report: add blacklist controls (#3121). 2017-07-05 19:40:48 -05:00
evazion aac1463fbf implications: count 'queued' implications as active.
Bug: implications that were approved but that were still in the 'queued'
state were not seen as active yet, which led to the transitivity
validation passing because it didn't include queued implications.
2017-07-05 00:22:27 -05:00
evazion 542c673221 Fix #3200: Disallow creation of superfluous implications.
Disallow transitive implications. If a -> b -> c already exists, don't
allow a -> c.

Caveat: if b -> c already exists, and we make a BUR for a -> b and a -> c,
the BUR validates even though a -> c is redundant. It only fails
when the BUR is approved.
2017-07-05 00:22:16 -05:00
evazion cda35494a4 Disable blacklists on pages without blacklist controls. (#3183) 2017-07-03 15:10:36 -05:00
evazion c3ac4f3329 Fix #3197 - Post Replacement comment: use Replacement URL instead of Final Source
Record the URL of the image that was actually downloaded as the replacement URL.
2017-07-02 21:00:26 -05:00
evazion 5a2745ee71 Fix post replacement controller test.
Broken in 27aa9fe. Delayed jobs have to be enabled when creating a
replacement, otherwise replacement will try to immediately delete the
existing files, which fails because they're still in use.
2017-07-01 13:37:32 -05:00
evazion 0390039621 Fix expunging posts from S3 (fixup 4c4ef5c / #3180). 2017-07-01 12:30:59 -05:00
evazion f8ed7d4357 tests: fix HTTP requests failing due to webmock (#3039).
Fixes failures in source tests caused by Webmock disabling non-stubbed
HTTP requests by default.

https://github.com/bblimke/webmock#real-requests-to-network-can-be-allowed-or-disabled
2017-07-01 12:22:36 -05:00
evazion 1c06ae9f81 atom feeds: fix deprecation warnings in *_path helpers.
DEPRECATION WARNING: You are calling a `*_path` helper with the
`only_path` option explicitly set to `false`. This option will stop
working on path helpers in Rails 5. Use the corresponding `*_url` helper
instead.
2017-07-01 11:45:28 -05:00
evazion 71f84b10af tumblr: convert commentary to dtext.
* Convert Tumblr commentary to DText.
* Strip extraneous whitespace in links and blockquotes.
* Add newlines after block elements to ensure they're separated from
  subsequent blocks.
2017-07-01 11:15:48 -05:00
evazion b880b07387 sources: factor out html-to-dtext code to DText.from_html. 2017-07-01 11:15:48 -05:00
evazion e3a4bfd28c /upload/batch: use image proxy for embedded thumbnails. 2017-06-27 13:46:59 -05:00
evazion 281ddae35d /uploads/batch: add thumbnail previews (#3194). 2017-06-27 13:31:47 -05:00
evazion 9c50b24306 post replacements: add "Tags" field to dialog box.
* Adds a "Tags" field to the post replacement dialog box. The given tags
  are added to the post after replacement.

* Prefills the Tags field with certain tags that usually need to be
  removed after replacement: replaceme, image_sample, jpeg_artifacts, etc.
2017-06-26 18:17:16 -05:00
evazion 8d22ab9de8 post replacements: record upload source/filename in replacement_url.
* Record "file://#{filename}" as the replacement url when the
  replacement comes from an uploaded file.

* Record the actual url downloaded by the upload process otherwise. This
  may be different from the url given by the user, since the upload
  process may rewrite the url.
2017-06-26 14:18:57 -05:00
evazion 4fd1c6ec21 /post_replacements: fix broken source links (missing href). 2017-06-26 10:26:58 -05:00
evazion 465be6bdf5 /post_replacements: fix thumbnails of deleted posts not showing. 2017-06-26 10:25:57 -05:00
evazion fbb25666b0 tumblr: add source tests. 2017-06-25 15:34:15 -05:00
evazion 030052bf14 tumblr: rewrite html pages to image url. 2017-06-25 15:34:15 -05:00
evazion 118843b26a tumblr: fetch tags, commentary, and image urls. 2017-06-25 15:34:15 -05:00
evazion d5ce6c98ef tumblr: add tumblr api client. 2017-06-25 15:34:15 -05:00
evazion c25ca4c45c {approvals,disapprovals}/create.js.erb: fix indentation. 2017-06-25 11:09:07 -05:00