The api has been tested and works as intended.
Now users do not have to go on the website to get back their token, they
just have to register.
Torrents show the right stats and username on api request when search is
done
User model when converted to JSON gives us the apitoken and md5 hash of
email (for gravatar)
Verification on upload is done by token and username instead of token
only
Errors are now given in json format in the api
Global api response handler for less code redundancy and same response
pattern
Moved user auth check in cookie_helper to user.go
Fixed bug with CSRF prevention in /api
Added translation strings
* Add flags for torrents
Add a new field, .Language, to the Torrent model, and a new package,
torrentLanguages, which maps languages to flags. Added also a flag icon pack
from googlei18n/region-flags, with (mostly) public domain flags from Wikipedia.
* Optimize flags
* Use FlagSprites CSS instead of .png files
* Only use flags for languages we support
* Add test for CSS flags
Ensure that we have all the flags for the languages we support.
* Add AdditionalLanguages field to config
This allows us to support additional languages for new uploaded torrents,
even if we have no translation for it.
* Minor CSS fix
* Add "other" and "multiple" torrent languages
Also removed the TorrentLanguage struct, as it wasn't much useful.
* Fix test
* Add colspan=2 to category when language is empty
Also hide the language column if empty.
* Add lang field to search.
Hopefully it works with Elasticsearch as well, but I haven't tested
(lol Java)
* Add language field to ES index and settings
* Add language column to JS template
* Add keyword type to language ES field
* Remove 'raw' from keyword
* Set "simple" analyzer on language
* Document .Language field on Torrent model
Chrome and Firefox Extensions have been added to the FAQ
qBitorrent plugin also added
Same with nyanner local client
Added id tags on all h2 for better redirection when linking to the faq.
New translation strings for extensions and plugins
Status for scrapped user
They can't log in and an explicit error message is shown when they try
explaining that they need to contact the moderators
They are displayed as simple members on the front-end however
* fix uploaderid when torrent is hidden
Added a new function template to generate a link for uploaders name
In the view we have the actual uploaderID and uploaderName now
* fix template.HTML to string conversion
* Add a modal for reporting
Replace the popup
Use of Modal.js
Include Captcha
* forgot a div end tag
* Moved modal at the end
* Updated translation missing %s
* Added an information message
New translation string
* Forgot %s
* wrong id check
* New ModPanel Theme
* Implemented the new @kipukun theme in ModPanel
* Added new translation string
* Fixed the toolbar in /mod/torrents
* Little fix on torrents report
* Remove double navigation
* Added a tag h1 for pages and new translation strings~
* fix warn message
* new translation strings
* new Translations object which can be used to translate string in js
* fix a the disappearance of checkboxes on new item loaded by ajax
* Mass Edit MOD api JS (WIP)
In continuity with the mass edit mod api, this is the javascript use of
it.
##What does it do?
* Delete of multiple torrents on index/search
* Category change of multiple torrents
* Change of owner of multiple torrents
* Lock & delete of multiple torrents
##How?
* New toolbar only visible for mods
* Checkboxes added only for mods
* Selection and click on the button in toolbar
* Nothing is submitted, you have to review the changes in a modal window
listing them.
* Then the ajax queries are initialized one at a time with a progression
bar
* You can always at any moment delete entries from the queuing list
* Improved progress bar
* Deleting part almost done
Improved modal design
All dom interactions should be done
Prepared Query for only one callback
Improved Modal to keep a link to the active modal
* Finished =D
Added some translation string
* Forgot the refreshing of the page
Just an option that can be disabled by making refreshTimeout to 0