243 Commits

Author SHA1 Message Date
Christopher Allan Webber
a59f92f3ec That manager.process() line no longer made sense 2013-08-16 15:30:16 -07:00
Christopher Allan Webber
77ea4c9bd1 Updating to the point where we can allllmost run with the new reprocessing code
This commit sponsored by Odin Hørthe Omdal.  Thank you!
2013-08-16 15:30:16 -07:00
Christopher Allan Webber
d1e9913b71 Should be enough to get to the point where you can actually initialize a processing command now.
However, it doesn't celery task-ify it...

This commit sponsored by Catalin Cosovanu.  Thank you!
2013-08-16 15:30:16 -07:00
Christopher Allan Webber
4ba5bdd96e Steps toward working "run" reprocessing command.
This commit sponsored by Philippe Casteleyn.  Thank you!
2013-08-16 15:30:16 -07:00
Christopher Allan Webber
7a414c8d42 Moving celery setup to the right place
This commit sponsored by Jose Manuel Zueco Lazaro.  Thank you!
2013-08-16 15:30:15 -07:00
Christopher Allan Webber
19ed12b279 Whitespacin' it up. 2013-08-16 15:30:15 -07:00
Christopher Allan Webber
55a10fef0a gmg reprocess available --action-help now tells you processor arguments!
Every reprocessing action possible can inform you of its command line
argument stuff!  Is that awesome or what?
2013-08-16 15:30:15 -07:00
Christopher Allan Webber
85ead8ac3c "initial" reprocessing subcommand now works!
We are on our way now to a working reprocessing system under this
redesign!

This commit sponsored by Bjarni Rúnar Einarsson.  Thank you!
2013-08-16 15:30:15 -07:00
Christopher Allan Webber
58bacb33ac More progress towards the new reprocessing infrastructure: args updating
This commit sponsored by Elizabeth Webber.  Thanks, sis!
2013-08-16 15:30:15 -07:00
Rodney Ewing
3e9faf85da added comments and did a little refactoring. not sure if it is actually any clearer though 2013-08-16 15:30:14 -07:00
Rodney Ewing
f30fbfe60c add option to not run eagerly 2013-08-16 15:30:14 -07:00
Rodney Ewing
9a2c66ca9e added image reprocessing 2013-08-16 15:30:14 -07:00
Rodney Ewing
bf909ab048 pep 8 2013-08-16 15:30:13 -07:00
Rodney Ewing
065db04730 add command option for regenerating all thumbnails 2013-08-16 15:30:13 -07:00
Rodney Ewing
842ba30529 make media_id an optional argument 2013-08-16 15:30:13 -07:00
Rodney Ewing
11a99d787f refactored _run_reprocessing 2013-08-16 15:30:13 -07:00
Rodney Ewing
243756e020 added a set_media_state function. removed the --all flag (just don't enter any media_ids to process all media). slight refactor 2013-08-16 15:30:13 -07:00
Rodney Ewing
4a36407d39 Pep 8 2013-08-16 15:30:13 -07:00
Rodney Ewing
81d880b16a Just raise standard exception. Pass print statement to gettext 2013-08-16 15:30:13 -07:00
Rodney Ewing
7c1f6a6aee added a _run_reprocessing function which handles the hook calls 2013-08-16 15:30:13 -07:00
Rodney Ewing
6fc8aaf65f add reprocess_all function. still need to add code to reprocess all failed entries 2013-08-16 15:30:13 -07:00
Rodney Ewing
99b34c4ce6 Added a set_media_type function that has checks to only reprocess one media_type at a time 2013-08-16 15:30:13 -07:00
Rodney Ewing
c30714805b Beginnings of a reprocess command 2013-08-16 15:30:13 -07:00
Rodney Ewing
262c789754 Throw an error if there are unrecognized arguments 2013-08-16 15:30:13 -07:00
Rodney Ewing
aa387fc57e use parser.parse_known_args() instead of parser.parse_args() 2013-08-16 15:30:12 -07:00
tilly-Q
8394febbe1 This has been an update to clean out the code a little bit. The primary change
I made was I added the method has_privilege (which takes a variable amount of
unicode privilege names as an argument) to the User model. This method allowed
for much cleaner checks as to whether or not a user has a privilege. Other-
wise, I also made it impossible for moderators to punish admins. I created a
new url path and three new pages for Users to look at filed reports and the
code of conduct for the mg instance.

=== Made reports on admins not resolvable by moderators:
--\   mediagoblin/moderation/views.py
--\   mediagoblin/templates/mediagoblin/moderation/report.html

=== Created new files for the new pages:
--\   mediagoblin/meta/__init__.py
--\   mediagoblin/meta/routing.py
--\   mediagoblin/meta/views.py
--\   mediagoblin/templates/mediagoblin/meta/code_of_conduct.html
--\   mediagoblin/templates/mediagoblin/meta/reports_details.html
--\   mediagoblin/templates/mediagoblin/meta/reports_panel.html
--\   mediagoblin/routing.py
--\   mediagoblin/static/css/base.css

=== Replaced vestigial methods of checking a user's privilege with the more
====== effective method has_privilege(u'privilege_name'):
--\   mediagoblin/db/models.py
--|   Added in the has_privilege method to the User class

--\   mediagoblin/db/migrations.py
--\   mediagoblin/db/models.py
--\   mediagoblin/decorators.py
--\   mediagoblin/edit/lib.py
--\   mediagoblin/edit/views.py
--\   mediagoblin/gmg_commands/users.py
--\   mediagoblin/moderation/views.py
--\   mediagoblin/templates/mediagoblin/base.html
--\   mediagoblin/templates/mediagoblin/user_pages/collection.html
--\   mediagoblin/templates/mediagoblin/user_pages/media.html
--\   mediagoblin/templates/mediagoblin/user_pages/user.html
--\   mediagoblin/templates/mediagoblin/utils/collection_gallery.html
--\   mediagoblin/user_pages/views.py

=== Minor UI changes
--\   mediagoblin/templates/mediagoblin/moderation/report_panel.html
--\   mediagoblin/templates/mediagoblin/moderation/user.html

=== Other Bugs:
--\   mediagoblin/tools/response.py
--\   mediagoblin/db/migrations.py
2013-08-13 18:38:00 -04:00
Rodney Ewing
31de493e41 typo fix in foundations branch 2013-08-02 07:31:09 -07:00
tilly-Q
9d6e453f8f This commit was the work I did fixing errors that cropped up from the merge.
There were a few errors because of the switch from sqlalchemy 0.7 to 0.8 but I
cleared them up.
2013-07-31 20:11:26 -04:00
tilly-Q
52a355b275 Merge branch 'ticket-679' into OPW-Moderation-Update
Conflicts:
	mediagoblin/auth/tools.py
	mediagoblin/auth/views.py
	mediagoblin/db/migration_tools.py
	mediagoblin/db/migrations.py
	mediagoblin/db/models.py
	mediagoblin/decorators.py
	mediagoblin/user_pages/views.py
2013-07-29 18:40:19 -04:00
tilly-Q
08cd10d84f I actually had to do a bit more work than I thought, because I needed to account
for plugins. In this commit I changed the MigrationManager and DatabaseData ob-
jects to account for FOUNDATIONS in any plugin's (or main program's) models.py
file.
2013-07-29 17:15:29 -04:00
tilly-Q
6bba33d7e6 Whew. This is a big update. I did some significant keeping work. I moved all of
the folders and enpoints labeled 'admin' to the more accurate term of 'moderat-
ion.' I also created the ability for admins and moderators to add or remove pr-
ivileges or to ban a user in response to a report. This also meant implementing
the UserBan class in various places. I also had to add a column called result
to the ReportBase table. This allows the moderator/admin to leave comments when
they respond to a report, allowing for archiving of what responses they do/n't
take.

--\ mediagoblin/db/migrations.py
--| Added result column to ReportBase

--\ mediagoblin/db/models.py
--| Added result column to ReportBase
--| Added documentation to tables I had made previously

--\ mediagoblin/decorators.py
--| Editted the user_has_privilege decorator to check whether a user has been
  | banned or not
--| Created a seperate user_not_banned decorator to prevent banned users from
  | accessing any pages
--| Changed require_admin_login into require_admin_or_moderator login

--\ mediagoblin/gmg_commands/users.py
--| Made the gmg command `adduser` create a user w/ the appropriate privileges

--\ mediagoblin/moderation/routing.py  << formerly mediagoblin/admin/routing.py
--| Renamed all of the routes from admin -> moderation

--\ mediagoblin/routing.py
--| Renamed all of the routes from admin -> moderation

--\ mediagoblin/moderation/views.py << formerly mediagoblin/admin/views.py
--| Renamed all of the routes & functions from admin -> moderation
--| Expanded greatly on the moderation_reports_detail view and functionality
--| Added in the give_or_take_away_privilege form, however this might be a use-
  | -less function which I could remove (because privilege changes should happe-
  | n in response to a report so they can be archived and visible)

--\ mediagoblin/static/css/base.css
--| Added in a style for the reports_detail page

--\ mediagoblin/templates/mediagoblin/base.html
--| Renamed all of the routes from admin -> moderation

--\ mediagoblin/templates/mediagoblin/moderation/report.html
--| Added form to allow moderators and admins to respond to reports.

--\ mediagoblin/templates/mediagoblin/moderation/reports_panel.html
--| Fixed the table for closed reports

--\ mediagoblin/templates/mediagoblin/moderation/user.html
--| Added in a table w/ all of the user's privileges and the option to add or
  | remove them. Again, this is probably vestigial
--| Renamed all of the routes from admin -> moderation

--\ mediagoblin/templates/mediagoblin/moderation/user_panel.html
--| Renamed all of the routes from admin -> moderation

--\ mediagoblin/tools/response.py
--| Added function render_user_banned, this is the view function for the redir-
  | -ect that happens when a user tries to access the site whilst banned

--\ mediagoblin/user_pages/forms.py
--| Added important translate function where I had text

--\ mediagoblin/user_pages/lib.py
--| Renamed functiion for clarity

--\ mediagoblin/user_pages/views.py
--| Added the user_not_banned decorator to every view

--\ mediagoblin/views.py
--| Added the user_not_banned decorator

--\ mediagoblin/moderation/forms.py
--| Created this new file

--\ mediagoblin/templates/mediagoblin/banned.html
--| Created this new file
--| This is the page which people are redirected to when they access the site
  | while banned
2013-07-17 16:16:07 -04:00
Christopher Allan Webber
5305fee13b Merge branch 'rodney757-media_plugins'
Conflicts:
	mediagoblin.ini
	mediagoblin/tests/test_mgoblin_app.ini
2013-07-12 16:24:36 -05:00
Rodney Ewing
44082b12d8 Patch by Strum. Ticket #451 - Convert all mongokit style .find, .find_one, .one calls over to SQLAlchemy queries 2013-07-11 14:17:50 -07:00
Christopher Allan Webber
41a14c6efc Merge remote-tracking branch 'remotes/lotusecho/trac_711_test_speed' 2013-07-03 14:07:11 -05:00
tilly-Q
3fb96fc978 This was a simple commit. I changed all references to Groups into Privileges so
as to not conflict with the new federated groups which are also being written.
I also fixed up some of the code in the user_in_group/user_has_privilege decor-
ator. Users are now assigned the default privileges when they sign up, and ass-
iged active once they are activated. I updated the gmg command makeadmin to use
my groups as well. Lastly, I added the decorator to various views, requiring th-
at users belong to appropriate groups to access pages.

--\ mediagoblin/auth/tools.py
--| Added code to assign new users to default privileges

--\ mediagoblin/auth/views.py
--| Added code to assign users to u'active' privilege once the email
  | verification is complete

--\ mediagoblin/db/migrations.py
--| Renamed Group class to Privilege class

--\ mediagoblin/db/models.py
--| Renamed Group class to Privilege class

--\ mediagoblin/decorators.py
--| Renamed function based on the Group->Privilege change
--| Rewrote the function to be, ya know, functional

--\ mediagoblin/gmg_commands/users.py
--| Changed the 'makeadmin' command to add the target user to the admin
  | privilege group as well as affecting 'is_admin' column

--\ mediagoblin/submit/views.py
--| Added the requirement that a user has the 'uploader' privilege in order
  | to submit new media.

--\ mediagoblin/user_pages/views.py
--| Added the requirement that a user has the 'commenter' privilege in order
  | to make a comment.
--| Added the requirement that a user has the 'reporter' privilege in order
  | to submit new reports.
--| Got rid of some vestigial code in the file_a_report function.
2013-07-03 14:46:21 -04:00
Rodney Ewing
58a947578c modified gmg to use plugin media_types and converted image media_type to new plugin style 2013-07-02 07:21:44 -07:00
Emily O'Leary
6db23bd9b6 Updated comments for run_all_migrations and config_spec.ini. 2013-06-27 17:05:25 -04:00
Emily O'Leary
4a698535bc Improved test runtime from 352 seconds to 59 seconds by implementing an in-memory sqlite DB and including an option to run migrations on this newly created database by adding a config option called run_migrations to the config_spec and passing it along in app.py to the setup_database function. 2013-06-25 20:57:50 -04:00
Rodney Ewing
9c2c9be79d moved bcrypt_gen_password_hash to basic_auth/tools and added gen_password_hash function to auth/__init__ 2013-05-24 16:52:48 -07:00
Christopher Allan Webber
9230968f7e Cleaning a bit: os.path.sep.join -> os.path.join 2013-05-23 13:33:08 -05:00
Christopher Allan Webber
247759caa7 docstring update: link theme... and plugins! 2013-05-23 13:33:08 -05:00
Christopher Allan Webber
6afc8364e0 Generalize "gmg theme assetlink" -> "gmg assetlink" and cover both theme and plugins
We've moved the module... probably I'll re-add theme just to give a
warning that this is deprecated.

This commit sponsored by Kevin Williams.  Thank you!
2013-05-23 13:33:08 -05:00
Christopher Allan Webber
df69695d9e Various fixes to plugin assetlinking command.
Actually trying to run the command helps figure out what needs to be
fixed :)

This commit sponsored by Justin Nichol.  Thank you!
2013-05-23 13:33:07 -05:00
Christopher Allan Webber
5ccb16ca20 Work towards getting plugin static linking/serving to work
- add link_plugin_assets.  For now, incorrectly running from
   ./bin/gmg theme assetlink... uh, will fix ;)
 - Update paste and config_spec.ini configs to handle the locations
   and serving of the plugins' static resources

This commit sponsored by Marko Dimjašević.  Thank you!
2013-05-23 13:33:07 -05:00
Christopher Allan Webber
0ae3829048 Fixing bug in dbupdate where it would explode on plugin that is missing MODELS or MIGRATIONS
The reason it blew up was because in the latter caught exception, it
wouldn't set models/migrations to an empty set, so it would actually
use the previous run's models/migrations!  That's what we get for
"leaky" variables on python for loops :)

This commit sponsored by Pascal Diogo Antunes.  Thank you!
2013-05-16 16:56:20 -05:00
Christopher Allan Webber
ea5fb2d9d4 Switch "sqlite_refcheck" keyword arg to "migrations" which Elrond thinks is cleaner
Also, if migrations is true, *explicitly* say that foreign key checking is off
2013-04-26 15:27:44 -05:00
Christopher Allan Webber
313b38f895 Don't turn on sqlite refcheck stuff during migrations 2013-04-26 15:09:03 -05:00
Christopher Allan Webber
a789b713f5 Switching non-forms back to using normal pass_to_ugettext 2013-04-24 16:40:30 -05:00
Aditi Mittal
665b9c420a Fix-bug-667-Use-lazy_pass_to_ugettext-for-forms. 2013-04-24 16:40:29 -05:00
Elrond
c130e3ee79 Move db.sql.migration_tools to db.migration_tools.
Follow the new trend.
2013-01-08 22:50:01 +01:00