Commit Graph
100 Commits
Author SHA1 Message Date
BrokenEagle 79a70083ef Add support for determining stack order of embedded notes 2021-03-16 04:02:47 +00:00
BrokenEagle db68644b65 Convert forum topic visit association attribute to new format
This was added in da3e8e4.
2021-01-22 02:58:31 +00:00
BrokenEagle d06236c66b Remove unneeded available includes
The indexes for these only contain instances from the user regardless
of user level, so there's no need to show these.
2021-01-22 02:58:31 +00:00
BrokenEagle 5698847077 Add in missing available includes 2021-01-22 02:58:30 +00:00
BrokenEagle 6d867de20f Add way for controllers with different models to use the only parameter
The /emails endpoint was passing in the "Email" model because that's
how the emails controller classifies. This was to fix that, and to
allow any other such cases in the future.
2021-01-22 02:58:30 +00:00
BrokenEagle c90ef9f1b0 Add the Twitter name to the list of other names for new artists
The artist name is supposed to be the display name according to the
base file, however the artist name was treated like the tag name
instead. This commit renames all instances of "artist_name" to
"tag_name" and then adds an "artist_name" function that uses the
Twitter display name if available.
2021-01-19 00:46:21 +00:00
BrokenEagle 180eebb77a Don't normalize on the nudge event
The normalization always ends up being less than a pixels difference,
and the clamp applied later on removes that difference. Before the
clamp was added, it had the effect of moving the box along it's angle
of rotation. Now it moves it along the x,y axis of the image itself,
which is probably more intuitive anyways.

It's still needed for the drag and drop though, otherwise, it displaces
by a certain amount making it impossible to accurately place.
2021-01-16 22:20:51 +00:00
BrokenEagle db5f9ce243 Support multiple excludes for enum types
It's not possible to pass it off to search_numeric_attribute directly
since the column "category" does not match the prefix "category_id".
2021-01-06 20:21:56 +00:00
BrokenEagle 57de81686b Support using all numeric searches for includes 2021-01-06 20:21:56 +00:00
BrokenEagle 4a439d72d6 Support multiple exclusions
Since it does a not of numeric_attribute_matches which uses the
post query builder, it now also support reverse ranges and reverse
greater/less than.
2021-01-06 20:21:55 +00:00
BrokenEagle 16d6f3bbd5 Add post regenerations 2021-01-04 18:35:50 -06:00
BrokenEagle 2ae912a8be Add childlike font 2020-11-14 18:00:08 +00:00
BrokenEagle 36fa8efcd5 Fix parameter hash detection
Hash-like objects will respond to each_value, whereas arrays do not.
2020-08-18 05:34:14 +00:00
BrokenEagle 5d88d09d93 Add search for a list of any changed tags
This will facilitate users being able to monitor tag changes from
a list of tags they are interested in. Currently, the only way to
do this is 2 separate queries on the added_tags and removed_tags.
2020-07-29 00:36:52 +00:00
BrokenEagle 0bf5ac7374 Fix tooltips to allow for reinitialization
When Tippy is delegated to the same element more than once, that
prevents the destroy method from working, which makes it so that
users cannot change the settings and then reinitialize the tooltips.

To this end, each delegate() call is now given a different selector.
Additionally, the tooltips are given their own separate <div>'s so
that something like the second delegate() call in the UserTooltips
module can be given its own unique selector.
2020-07-28 16:37:28 +00:00
BrokenEagle 7291de42f4 Fix issue with test since Mod topics aren't visible to anonymous 2020-07-27 19:29:22 +00:00
BrokenEagle 396e9c6ef4 fixup-add-tests 2020-07-27 19:29:22 +00:00
BrokenEagle a903bd95f9 Add tests for all models with includes searches 2020-07-27 19:29:22 +00:00
BrokenEagle 34ca33e22f Update should helper with more functionality
- Allow for different user levels by checking the CurrentUser variable
- Allow for other URL parameters other than the search parameters
-- This is needed on some controllers such as the comments controller
- Allow for delayed execution of lambda functions for item input
-- This is because the updated_at field isn't correct at the time
   that the input gets sent to the function
-- This prevented the right order from being tested
2020-07-27 19:29:21 +00:00
BrokenEagle fc5e003e28 Fix test issue caused by dependence on implicit settings 2020-07-27 19:29:21 +00:00
BrokenEagle 40e6c3d77c Update test factories to run without input of instances 2020-07-27 19:29:21 +00:00
BrokenEagle e34e7b0d90 Fix CurrentUser issue with tests
For some tests, the current user wasn't set by the time the CurrentUser
variable was used in several of the models.
2020-07-27 19:29:20 +00:00
BrokenEagle b2a2c4e140 Update affected search forms 2020-07-27 19:29:20 +00:00
BrokenEagle c9ba41a58e Add additional search options 2020-07-27 19:29:19 +00:00
BrokenEagle 3eb90105df Remove obsolete includes 2020-07-27 19:29:19 +00:00
BrokenEagle c938119eae Add additional includes 2020-07-27 19:29:18 +00:00
BrokenEagle 243fde8c16 Fix includes not working in some cases
- It was using the wrong field keys and erroring out
2020-07-27 19:29:18 +00:00
BrokenEagle c4009efccd Convert models to use new search includes mechanism 2020-07-27 19:29:18 +00:00
BrokenEagle c141a358bd Add support for chaining more search includes
- A generalized search includes function was added
-- The post and user includes functions were changed to use that
- A search function for polymorphic includes was added
- All models are given 3 class functions to control which includes
  are searchable, and extra restrictions for the "has_" params
2020-07-27 19:29:17 +00:00
BrokenEagle 1a87935764 Fix the tag matches option
The split function was mistakenly used instead of the match function.
2020-06-23 06:58:03 +00:00
BrokenEagle 50740e302f Add option to search for wikis that don't link to a specific wiki
Also add inputs on the search page for both the linked_to and the
not_linked_to search parameters. Additionally, normalize the title
first since autocomplete adds trailing spaces. The search query was
also simplified a bit by taking advantage of Rails associations.
2020-06-23 05:31:43 +00:00
BrokenEagle 4acd89838b Add ability to search on status of parent/child 2020-06-21 22:39:21 +00:00
BrokenEagle 33577e2186 Don't display artist wiki when it is deleted, and vice-versa 2020-06-20 08:54:25 +00:00
BrokenEagle 11d0539ea1 Prevent creators from voting on their own BURs 2020-06-20 05:29:55 +00:00
BrokenEagle 158a4aa916 Fix Pixiv user profile URL to use the latest format
This will only affect new artist and commentary records going forward.
2020-06-17 07:07:33 +00:00
BrokenEagle 05f9b78ee3 Distinctly separate and label explicit/guro content in Pixiv test
This helps discern why these tests might be failing and serve as a
reminder to set the permissions for the Pixiv account correctly.
2020-06-17 07:07:33 +00:00
BrokenEagle 131e526a15 Show large image size by default on mobile devices 2020-06-13 04:07:15 +00:00
BrokenEagle 6f7530533a Fix notes having absolute coordinates upon creation
Notes are not given percent coordinates when created, however moving
or resizing would update the coordinates to percentage. This is why
it was appearing as if the type of coordinates given were random.
2020-06-05 21:53:00 +00:00
BrokenEagle ed9135bcf3 Perform some scheme and hostname normalization on the URL itself
- Converts scheme and hostname to lowercase
- Converts unicode hostnames into Punycode

This all gets done before the normalized URL gets assigned.

Additionally, this removes the dead commented out line for Nicoseiga.
2020-05-31 06:34:06 +00:00
BrokenEagle c21af0c853 Fix invalid artist URLs being allowed
The problem was that the Addressable parser does not catch all invalid
URL cases, so some extra checks were added in.

- hostname must contain a dot

This accounts for URLs of the following type:

http://http://something.com

which has a hostname of http.

The artist URL tests were also updated with cases which test all validation
errors.
2020-05-31 06:34:06 +00:00
BrokenEagle a6c64bb69a Fix embedded notes not being re-editable after note creation
The issue is that the body of the embedded notes were being set to
the value which tells the script not to read the original body after
saving a note. This was a poor system prone to issues, so instead a
DOM class is now explicitly added to the notes on note creation and
cleared whenever a note gets saved.

Additionally, the embedded note bodies were standardized to use the
same initial value as non-embedded notes as well.
2020-05-27 23:59:19 +00:00
BrokenEagle 8cab65367c Added mono font 2020-05-25 19:15:35 +00:00
BrokenEagle b9b1177832 Adds suport for using the image_url parameter with IQDB
This was only halfways supported, as the download module does not
have an image_url function. So for this, it just uses the url function,
which is just the original URL passed into the download function.

Additionally, it adds support to grab the largest available image,
which it does by using the file_url function of the downloads module.

- Fixes image_url parameter
- Adds file_url parameter
2020-05-24 00:58:46 +00:00
BrokenEagle 2d88569fac Fixes issues with Artstation source strategy
The reason that the download was failing was not because the 4k size
didn't exist, but because the Artstation had no way to handle image
cover URLs. This caused it to pass nil to the download function.

Additionally, there was no way to get the preview URL size, i.e. the
smallest available image for an Arstation image URL.

- Adds support for cover URLs
- Adds support for preview URL size
2020-05-24 00:38:54 +00:00
BrokenEagle a4ab165de7 Add alignment attributes for embedded notes
- justify-conent is for L-R alignment
- align-items is for T-B alignment
2020-04-04 02:10:33 +00:00
BrokenEagle b4094688c2 Fix artist commentary version view
The 100% was causing the table to overflow outside the border on Firefox when
in the revert view because of the thumbnail on the side of the table.
2020-03-31 16:51:51 +00:00
BrokenEagle a45ae09d72 Account for additional Twitter video image links 2020-03-29 19:27:05 +00:00
BrokenEagle ddb888297e Fix movable status not being removed after the note has been saved
This was also causing the movable status on new notes to require
clicking twice to remove that status since the note ID gets changed
but the move ID wasn't.
2020-03-28 21:08:27 +00:00
BrokenEagle 7358452152 Fix note borders not showing up with the dark theme
- Also remove unnecessary duplicated note variables for dark theme
2020-03-28 21:08:26 +00:00
BrokenEagle 902c0b910e Make note bodies smaller and simpler for embedded notes 2020-03-28 21:08:26 +00:00
BrokenEagle 472c00e27b Retain search parameters when navigating from results to advanced search 2020-03-28 06:29:46 +00:00
BrokenEagle 4d9eae0038 Add additional advanced search operators
- Tag matches allows a user to search for a single tag
-- Since testing for multiple tags would require converting the "tags"
   string to an array which would most likely fail even for single tags
- Is new for quick searching of uploads or not uploads
2020-03-28 06:29:46 +00:00
BrokenEagle 6aa0adb738 Make the post versions more like the old format
- "Current" is now most like the old format
-- It is therefore now the default for post versions
- Only show the actual edits in their own column
- Show the current state at that version in another column
- On the "previous" view, don't double-show full list of tags for
  the first post versions, so leave edits blank
2020-03-28 06:29:41 +00:00
BrokenEagle 85611ec379 Fix relationship preview alt text overflowing 2020-03-21 06:40:21 +00:00
BrokenEagle 9e16c01285 Allow video thumbnails as direct Twitter images 2020-03-20 20:59:37 +00:00
BrokenEagle 052c039ce8 Only count unique post IDs for blacklist menu 2020-03-19 18:35:41 +00:00
BrokenEagle 09445cb28b Drop unused BUR title column 2020-03-18 23:16:43 +00:00
BrokenEagle c16ad4f126 Add additional checks for BURs on forum topics 2020-03-18 23:05:12 +00:00
BrokenEagle 429667e664 Remove upload tags report
- Use the current comparison type for post versions instead
- Also add the note versions as a report
- No other versions are meaningful as reports since it is expected
  for them to be modified by other users, or they don't have version
  numbers as is the case with artist commentaries
2020-03-17 18:31:21 +00:00
BrokenEagle e23ee170f5 Add alternate comparison types to versions
- The types are:
-- Previous: The default and the previously used type
-- Subsequent: Compares against the next version
-- Current: Compares against the current version
- Allow switching between comparison types in index and diff views
-- Have links vary depending upon current comparison type
2020-03-17 18:31:20 +00:00
BrokenEagle a95e57d938 Move more logic to the helper modules
- Diff view changes
-- Only show pool description changes in diff view
-- Conditionally render diff link when applicable values are changed
-- Conditionally show diff view sections when values are changed
- Show renames on index view
-- There is plenty of space
-- This wasn't shown at all for wikis
-- Having to navigate to an alternate page is unwieldy for pools
- Show "posts" as a status on pools
-- This is so all changes among versions are quantified as a status
- Standardize diff/index titles
2020-03-17 18:31:20 +00:00
BrokenEagle ffc57b6cfa Use alternate iterators which have better performance 2020-03-07 08:13:14 +00:00
BrokenEagle 8c1f6020ba Adjust how blacklist classes get added
- Rename class for links as it was a misnomer
2020-03-07 08:13:14 +00:00
BrokenEagle 161e776cf7 Add utility regexp split function for non-whitespace words 2020-03-07 08:13:14 +00:00
BrokenEagle d1aed303fd Fix blacklist code executing muliple times
- When enabling/disabling all, it was executing on every single blacklist line
- When starting out disabled, it was executing several times
2020-03-07 08:13:13 +00:00
BrokenEagle d84150b232 Fix posts not being processed by blacklist after post updates
- Blacklisting individual posts was moved into its own function
- Fixed Javascript variables being leaked into the user environment
- Fixed post qTips being orphaned by replacements by destroying them first
- Moved edit form check into post success to avoid repeating post check
2020-03-07 08:13:08 +00:00
BrokenEagle a70433e78f Support numeric inputs for the category 2020-03-06 08:10:28 +00:00
BrokenEagle be0bb42ba9 Return the actual sample size used for related tag calculations
This meant that both functions had to return two separate values,
which need to be destructured by the function calling them. This
isn't so much a huge issue as its more something just to be made
aware of in case either function needs to be used elsewhere.
2020-03-06 08:10:28 +00:00
BrokenEagle af96d68c0b Add support for using any of the current related tag types
Regardless of category or query. This meant that the category value
had to be passed in as either null or the value itself for both types
of functions. It also fixes an issue where the category wasn't settable
on the pattern matching type.
2020-03-06 08:10:26 +00:00
BrokenEagle 66d2fd7b98 Add limit support for related tags 2020-03-06 08:05:06 +00:00
BrokenEagle 2d669899a4 Add tags overlap field
This information is already available, so there's no extra processing.
To avoid conflicting with the current tags field, it was made into its
own field, and it uses a hash so that values can be quickly looked up.
2020-03-06 08:05:04 +00:00
BrokenEagle 20bad0ec53 Remove the standard line-height attribute from <br> elements
This is because it was messing with using line-height on the outer
element. In order to get around this, the line height had to be set
individually on every single <br> element used.
2020-03-04 08:21:12 +00:00
BrokenEagle 7a81fd03ef Make clicking the box hide the popup note box in responsive mode
- This is because the note body of one note box could hide another note box
- The only option to hide the note body previously was to double tap the image
2020-03-04 00:35:45 +00:00
BrokenEagle a206c9d6ac Added a view large link to facilitate switching between image sizes
- The link is placed in the Options section
-- In the same place as the now defunct "Resize to image" link
-- This was so that it doesn't interfere with the image when in full size
2020-03-04 00:35:45 +00:00
BrokenEagle e844a06e61 Convert notes to use percentages instead of exact coordinates
- This allows for the note boxes to be easily resized
-- Now resizing the note container resizes all of the note boxes
-- The z-index and position values had to be adjusted for this
--- So that the note/preview boxes were still visible
--- So that the image was selectable with right clicks
- All of the inner box styles have been moved to the outer box
-- Now the inner box is only a container for the note body
- The always resize image option has been removed from user settings
-- The value still exists on the model for future rename/reuse
- The max width is set at 100% for responsive mode to fit the screen
2020-03-04 00:35:42 +00:00
BrokenEagle f671a5528d Adapt which note body corner is used for note box rotations
Beforehand it was always using the left corner, which was causing
the note body to be to the right of the note box whenever the bottom
angle of the note box was descending. Now it selects the left or
the right corner depending on the angle, which keeps the note body
in a better position right beneath the note box.
2020-02-25 17:16:32 +00:00
BrokenEagle 2dca001e12 Fix searching artist commentaries by post ID 2020-02-21 21:58:29 +00:00
BrokenEagle 2b0d52b5bb Restrict note container resizing to embedded notes 2020-02-21 20:07:19 +00:00
BrokenEagle 24ae35aa96 Add BUR counters to forum topics index 2020-02-21 07:14:19 +00:00
BrokenEagle 878a3badd1 Only show dimension transitions on relevent changes 2020-02-20 19:27:38 +00:00
BrokenEagle 818426cda3 Add cosplay related tags for other wikis
- Queries on *_(cosplay) tags will now also display the base tag.
- Also fixes an issue with list_of_* related wikis.
-- The request errors out if the list_of_* wiki doesn't actually exist.
2020-02-18 02:41:35 +00:00
BrokenEagle e4ff641c9a Fix autocomplete insert completion
It was removing line returns, even when line returns are important,
such as in the blacklist and frequent tags input fields. Besides those,
it was also causing confusion when editing tags on a post, as those
are divided into categories, but adding an additional tag for a category
at the end of a group causes groups of tags to be combined.
2020-02-18 00:00:58 +00:00
BrokenEagle 56087561a0 User: Use model counts instead of SQL queries 2020-02-15 19:44:45 +00:00
BrokenEagle 2affd4a3b5 Fix post resize image control
It was resizing images to the original width and height, even if
they were currently being shown in their large image format (850px).
This was causing excessive blur and artifacts in some cases.
2020-02-14 20:49:37 +00:00
BrokenEagle 115355ab7b Fix dialogue text for new notes
It was showing "Editing note #xx" and so on for all new notes past the first initial new note.
2020-02-14 20:49:17 +00:00
BrokenEagle e807326372 Use association on post flags instead of doing a new query
- Because associations can be preloaded in the controller
2020-02-12 23:58:55 +00:00
BrokenEagle 75f4af8991 Don't do unnecessary processing on posts when using the API 2020-02-12 23:58:54 +00:00
BrokenEagle f7495f5e26 Removed unused controller code 2020-02-12 23:58:54 +00:00
BrokenEagle 63b3503bfc Add ability to use nested only parameter
- The only string works much the same as before with its comma separation
-- Nested includes are indicated with square brackets "[ ]"
-- The nested include is the value immediately preceding the square brackets
-- The only string is the comma separated string inside those brackets
- Default includes are split between format types when necessary
-- This prevents unnecessary includes from being added on page load
- Available includes are those items which are allowed to be accessible to the user
-- Some aren't because they are sensitive, such as the creator of a flag
-- Some aren't because the number of associated items is too large
- The amount of times the same model can be included to prevent recursions
-- One exception is the root model may include the same model once
--- e.g. the user model can include the inviter which is also the user model
-- Another exception is if the include is a has_many association
--- e.g. artist urls can include the artist, and then artist urls again
2020-02-12 23:58:53 +00:00
BrokenEagle 44f32a1e5e Add ability to copy certain style attributes to the outer note boxes
- Attributes are pulled from the first element with class "note-box-attributes"
- Transform is note box only to prevent applying the same transform twice
-- Only rotations are allowed to prevent excessive scaling of note boxes
-- Note box positions are adjusted after drag/nudge/resize to prevent out-of-bounds
-- The note body is placed on the lowest box corner that is farthest left
- Background color is inner box only since the note box is already transparent
-- Backgrounds with any transparency aren't allowed as they would interfere with the text below
- Border radius is both since they both have borders
- Add full namespaces to all event removes to prevent bad removes
2020-02-11 04:56:27 +00:00
BrokenEagle c082a258c7 Add note key resize function
- Same as using the key nudge, however it's used with the shift key
2020-02-11 04:56:26 +00:00
BrokenEagle 9fbeb5ec3a Add note key nudge function
- Notes must be clicked in order to engage the nudge function for that note
-- This status is indicated by a green border around the note
-- Clicking the note or another note will turn off nudging for that note
- Also prevent notes from being nudged outside of the image borders
2020-02-11 04:56:26 +00:00
BrokenEagle e0e60a9546 Remove dead embedded code 2020-02-10 17:23:27 -06:00
BrokenEagle 778619301e Resize font and other size parameters when the image resizes
- Each element has the size style elements scaled to the font size with "em"
-- The font size of the element is scaled in percentage to the parent element
- All sizes are then scaled by changing the font size of the note container
- The scale resize calculation uses the large image size
-- Since this is the assumed default size for a user
- Preview sets the font size of the inner box to the base font size
-- This allows the calculations to be performed correctly
2020-02-10 17:22:27 -06:00
BrokenEagle 44bcef03e1 Add additional styles for embedded notes
- Use CSS classes instead of applying the styles to the elements.
-- Allows a user to override any of the default styles being applied.
- Remove the borders and handles when not hovering over the box.
- Increase the opacity for embedded notes to full to avoid conflicts with
  the text underneath.
- Decrease the opacity a little when editing embedded notes.
-- Allows for better seeing of the text underneath while still being able
   to see the translation text above.
-- Compensated for by showing full opacity when hovering over the note box.
2020-02-10 17:20:56 -06:00
BrokenEagle 8ff00cfc7d Rework post version view
- Added a changes column explicitly listing all of the changes
-- This makes it more in line with the other views now
2020-02-08 22:57:30 +00:00
BrokenEagle 7b1efd1204 Rework artist versions index view
- Added a changes column explicitly listing all of the changes
-- This makes it more in line with the other version views now
- Does a symmetric difference on the array fields to detect changes
2020-02-08 22:57:29 +00:00
BrokenEagle de1324098d Rework wiki page versions index/diff views
- Changed to using the diff-body CSS class
-- Removed unnecessary elements from the CSS style file
- Does a symmetric difference on the array fields to detect differences
- Add more descriptors to the status/changes column
- Specifically add <br> to statuses to cause line breaks
2020-02-08 22:57:29 +00:00
BrokenEagle ede7167bb8 Rework pool versions index/diff views
- Changed to using the diff-body CSS class
-- Removed unneeded CSS style file
- Removed trailing whitespace after the >>> link
-- It was causing artifact line-throughs to appear after the link
- Changed the diff link to only render when a text field has changed
-- Because the post changes are already shown on the index view
- Specifically add <br> to statuses to cause line breaks
2020-02-08 22:57:29 +00:00
BrokenEagle d62f7e786e Revise display on artist commentary versions index
- All text fields are now shown in their non-rendered form
-- This allows changes to be highlighted with the diff builder
-- The different fields were labeled and separated for easier discernment
-- Fields are only shown if they have text in either the current or previous versions
- Various changes are also verbalized for easier discovery
- The date and the user columns were combined
-- This is more in line with other indexes, plus it saves on space
- The revert listing was changed to use a thumbnail instead of post ID links
-- This makes it more in line with the post versions index
2020-02-08 22:57:28 +00:00