* Add new followers directly to user.Followers
* Update user.go
* Remove useless condition
* Query an update of user followers if at 0 when looking at his profile
* Fix comment not appearing until you refreshed the torrent page
* call ViewHandler so that comments visually update properly
* Remove now useless imports
* Add "uploader" userstatus in comment
* GetLikings() & GetFollowers() now return count too
* Don't update follower count here
* Update follower count directly here
* show liking count
* Update user.go
* Update profile.jet.html
* Update torrentParam.go
* Fix locked torrents that were shown even when they should not
* Update torrentParam_test.go
* remove inline styling
* Update main.css
* Update upload.jet.html
* Update main.css
* Update tomorrow.css
* Update classic.css
* Update classic_colors.css
* Update index_site.jet.html
* Make announcements support markdown
* Add markdown form to announcement creation
* fix "report" text position
* Add exclude search option to exclude words
* Make sure the "NameLike" value is the search query because we edit it during a search
* Show search content in page title for /feed too
* rollback
* Add "Search" variable that shows exactly what is being searched
* Use "Search.Search" variable here instead of NameLike because NameLike is edited
* Update torrentParam_test.go
* Update torrentParam.go
* remove redundant spaces from NameLike
* Update torrentParam.go
* Update torrentParam.go
* Update torrentParam.go
* Update torrentParam.go
* turn date input into type date
* bigger date inputs
* add support for YYYY-MM-DD dates
* rollback this change
* rollback
* Update search.jet.html
* Update helpers.go
* Update template_functions.go
* Update torrentParam.go
* only uploader & staff can comment on locked torrents
* Add "Upload to Nyaa/Sukebei" button for mods
* Update torrentlist.jet.html
* Update view.jet.html
* Update view.jet.html
* fix wrong page title for notifications page
* Fix "torrent is being generated" message showing up even when the torrent couldn't be generated
* Add janitor user status
* Remove usage of deprecated HasAdmin() function
* Give Janitors access to mod panel
* Stop using deprecated HasAdmin() function
* Stop using deprecated HasAdmin() function
* Update edit.go
* Update profile.go
* Rollback bad changes, remove redundant email check and stop using deprecated function
* Show every userstatus (member, janitor, banned, mod) in comments
* Return empty status if anonymous
* Show no userstatus for anonymous profile
* Show moderation link to janitors too
* Stop using deprecated HasAdmin() function
* Stop using deprecated HasAdmin() function
* Stop using deprecated HasAdmin() function
* Add Janitor to userstatus select in user edit
* "Janitor" translation string
* didnt mean to commit this change
* rollback wrongfully comitted changes
* rollback commit
* Update CHANGELOG.md
* Fix wrong id for translation
* remove deprecated HasAdmin() function again
* change name of variable used in comment loop for clarity purposes
* visual cue for locked torrents in torrent listing for admins
* add visual cues for hidden torrents in admin torrent listing
* Dont show delete buttons for janitors
* janitor cannot delete torrents
* show block/unblock button in torrent list for janitors instead of delete button
* fix function that didnt get executed
* add ban buttons on userlist & visual cue for banned users
* Fix "user successfully deleted" message showing even if user wasnt deleted
* Add "ban" button, no "delete" button for jantiors
* add "unban" and "ban" translation strings
* add "unban" and "ban" translation strings
* different <form> for ban button
* Update index.jet.html
* add userprofile ban route
* add toggleBan() function, janitors dont need captcha either
* fix panic error when deleting an anonymous comment
* add user_banned_by and user_unbanned_by
* add user_banned_by and user_unbanned_by
* Make ToggleBan() return whether or not the user is now banned
* Add handler for /ban route
* change log filter
* hide locked torrents from regular users
* hide locked torrents from regular users
* hide locked torrent from api search for regular users
* change function to CurrentOrJanitor
* change function to currentorjanitor
* change function to currentorjanitor
* add CurrentOrJanitor function
* fix extra (
* fix extra ) and wrong variable name
* Fix wrong value for janitor user status
* Fix user edit that did not work because of "unique constraint user.emails" error
* only immediately visually update user if user has been updated successfully
* use FindAllForAdminsOrderBy in order to preload users
* create FindAllForAdminsOrderBy that preloads users
* Show username instead of ID in Uploader column in admin panel
* Fix userprofile buttons overflowing at some specific resolutions
* Mods can set users as janitors
* Show ban/unban buttons on userprofile for janitors
* Identical styling for usermenu links and buttons
* dont show ban buttons on other staff
* add ban message through get parameter
* make toggleBan() trigger user update
* Add "user_banned" and "user_unbanned"
* add "user_banned" and "user_unbanned"
* Visual cue for banned user
* banned users can still log in
* visual cue for banned user in badgemenu
* locked status if banned user on upload
* banned users cannot comment
* Put "banned" text between ()
* add GetCategoryName() to template_test
* add GetCategoryName() that returns full category name from full category string
* Show search content in page title if it exists, or search category if it exists, otherwise shows "Home"
* error message when user uploads an torrent & is banned
* add torrent_uploaded_locked
* add torrent_uploaded_locked
* fix delete definitely button that never appeared
* Show delete definitely button on admin panel index
* admins can undelete a torrent by editing it's status
* Trigger ViewHandler() directly instead of redirecting
* Render the template directly instead of triggering torrent view handler
* bigger usermenu buttons once responsive design kicks in
* make btn-* class non-bold
* Responsive notification page
* visual cue for locked torrents in torrent listing
* Update search.go
* Update search.go
* Update api.go
* Update helpers.go
* Update template.go
* Update torrentParam.go
* remove "hidden" class
* Update search.go
* fix an html error
* Add files via upload
* Update admin.jet.html
* Update index.go
* Update index.go
* Update router.go
* Update torrentParam_test.go
* Update torrentParam_test.go
* fix extra "
* fix bad copypaste
* Update CHANGELOG.md
* Update guidelines.jet.html
* Update CHANGELOG.md
* add Guidelines and Moderation Guidelines
* fix missing commas
* Update torrentlist.jet.html
* Update find.go
* Update stats.go
* Update view.jet.html
* Update index.jet.html
* No API token message if no API token
* Update CHANGELOG.md
* Update en-us.all.json
* move delete user button to the right
* prettier button hovering text color [tomorrow]
* Update en-us.all.json
* use of translation strings for certain themes
* ditto
* Remove hardcoded theme name, make use of translation strings in function if it exist
* Update template_functions_test.go
* Update template_functions_test.go
* Update template_functions.go
* fix travis
* remove useless condition
* Change DLSite to String
Fix#1573
Plus it seems the filtering search for ES didn't work for anidbid, vndbid and vgmdb. Should be fixed now.
* Update helpers.go
Doing this makes it possible to use the method from ArrayString (Contains and Join).
Therefore:
* Tags.Join() would return a string of all the tags separated by commas
* Tags.Contains(str) would return a boolean on whether there is the str or not
* Add username search
Quite simple, you need to provide ?user=xxxx
* Add userID search + Changed name of input field
Now ?user=xxx can also search userID.
For that you need to prefix it with "#".
Example:
* ?user=akuma06 would search torrents based on username akuma06
* ?user=#123 would search torrents based on userID 123 (be aware that you have to encode the "#" in url format %23)
* Update search.jet.html (#1436)
* Update main.css (#1435)
* Added cache on PG query with results
+ Add a log info to say that ES is enabled
* Added log when ES is disabled too
* Added log info when cache is retrieved
+ moved notnull set variable with others
* Fix travis test :')
* Tag Search + Tests + Search slight refactor
First commit improving search. Different struct have their own file with their tests. This way of separating struct by files is inspired by the go packages I've seen so far.
Added new behaviour as discussed in #1334
* fix fallback to ES
* Added some comments to explain PG fallback + log err moved
* Refactored search
Nearly fully covered
WhereParams struct has disappeared for Query struct instead
In DB model, we use an interface implementing Query struct methods
* 1rst Refactor of Tags (WTF already?!)
Prepare Tags for the refactored system. Now there will be descriptive tags for a particular release (ecchi, BDSM, ....) and typed tags.
Typed tags are tags relevant to all torrents and can be limited to some input value. For example, video quality is a typed tag limited to some values (hd, full hd, sd, ...). In the same way, anidbid is also a typed tag but doesn't have default values.
Furthermore, the location storage of tags have changed, now accepted descriptive tags are stored in the torrents table in the column "tags" and they are separated by commas.
In the opposite, accepted typed tags can have have their own column in the torrents table. For example, anidbid, vndbid will populate the column DbID when accepted. On the other hand, videoquality will populate the same way as descriptive tags.
This behaviour depends on the callbackOnType function in tag/helpers.go
* fix for modtools :')
* Added anidb, vndb, dlsite & vmdb id fields in torrent model.
Tags don't have an accepted field anymore.
Accepted Tags are in torrent.AcceptedTags and non-accepted ones in torrrent.Tags.
New Helper + New Changelog for translation string.
* New upload/edit form for torrent tags.
Now the inputs are dynamically generated by the helper tag_form.
No more modal window in those form, only inputs.
Support of tags in API
New translation string for the link to the modal on torrent view.
More comments in the functions for tags
* Improving how config for tags work. Adding a test on them with understandable messages.
Config for tags have now a Field attribute which is linked to the Torrent model. For example anidbid tag type has now a AnidbID field in config which is the name of the field in torrent model (AnidbID). Every new tag type need to have a field attribute with its counterpart in torrent Model.
Fixing some errors
* Fix compile error + Tests Errors
* Improve performance by caching the list of tags with an index
Adding/removing tags works/tested
New translation strings
TODO: test/fix adding tag on upload/edit
* Mini fix to display video quality
+ tags works/tested on modo edit
* Fix editing tags on modpanel
* Edit tags works
* Add translation string
* Add search backend for tags.
?tags=xxx,eee,ddd
?anidb=21
?vndb=23
?vgmdb=24
?vq=full_hd
* Fix Ajax tag Removal&Add
* Added form for descriptive tags
* Forgot to add the link between database and form for descriptive tags.
* Adding the increase/decrease pantsu for descriptive tags
* Fix#1370
* When you actually forgot to commit files after having forgotten commits
* Initial Commit for OAuth API
This builds and run and return the right error.
Need to test it and then adding all users as possible client
* Added mising dependency
* just compile already...
* Fixing template test
* Imrpovements
Moved db stuff in models
Added some tests
Added form in modpanel to add/update a client
Added controllers for add/update of client
* Added Forms + speed improvements
Controller oauth client listing + html
Controller oauth client delete + messages
Messages on comment delete
New ES config that disable ES if set to false. Improve load speed on local development
Fix a load config bug
Fix index admin & translation string sign_out broken by @ewhal
* Sanitize empty strig in form array + css
Multiple empty array of strings are sanitized for the oauth client create form
Added some css for the form display
* Upload and Create form works
* Fix splitting response types
* Removing required on secret when updating
* fix travis error
* Fix travis template test
* Update dependency
* Moved to jinzhu instead of azhao
* randomizen secret on creation
* Final touch on oath api
improved display name
fix grant form csrf
fix login csrf on oauth
* Fix gorm test
* fix template test
* Fixing deleted dependency issue
* Make travis faster
* Fix typo
* Fix csrf for api calls
* This shouldn't be exempt
* Removing hard coded hash
@ewhal Don't forget to replace the hash in tokens.go with another one
* Added an example on how to use OAuth middleware
* Renamed fosite utils to oauth2 utils
Removed the old search parameter on /api.
Fixed issue with navigatation.
Fixed issue with notifications.
Fixed issue with fake anonymous upload on search with userID.
Fixed issue with number of upload on user page.
Moved api to version 1.1.0 with search displaying same as /api
* Added configor as a new library
Now config is a singleton. You only need to do config.Get() instead of doing config.Conf.
* Forgot godep save 🐤
* Fix accidental removal of }
Common is no more a thing
Use of TorrentParam instead of SearchParam now
Common structs for search are exported in utils/search/structs
Util has been renamed utils