aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/auth/tools.py
Commit message (Collapse)AuthorAgeFilesLines
* Merge remote-tracking branch 'refs/remotes/tilly-q/OPW-Moderation-Update'Christopher Allan Webber2013-10-071-1/+11
|\ | | | | | | | | | | | | Conflicts: mediagoblin/templates/mediagoblin/user_pages/user.html mediagoblin/tests/test_auth.py mediagoblin/tests/test_submission.py
| * This was a big commit! I included lots of documentation below, but generally Itilly-Q2013-08-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | did a few things. I wrote many many many new tests, either in old test files or in the three new test files I made. I also did some code-keeping work, deleting trailing whitespace and deleting vestigial code. Lastly, I fixed the parts of the code which I realized were broken thru the process of running tests. =============================================================================== Deleted trailing whitespace: =============================================================================== --\ mediagoblin/decorators.py --\ mediagoblin/auth/tools.py --\ mediagoblin/db/migrations.py --\ mediagoblin/db/models.py --\ mediagoblin/gmg_commands/users.py --\ mediagoblin/moderation/forms.py --\ mediagoblin/moderation/tools.py --\ mediagoblin/moderation/views.py --\ mediagoblin/templates/mediagoblin/moderation/media_panel.html --\ mediagoblin/templates/mediagoblin/moderation/report.html --\ mediagoblin/templates/mediagoblin/moderation/report_panel.html --\ mediagoblin/templates/mediagoblin/moderation/user.html --\ mediagoblin/templates/mediagoblin/moderation/user_panel.html --\ mediagoblin/templates/mediagoblin/user_pages/report.html --\ mediagoblin/templates/mediagoblin/utils/report.html --\ mediagoblin/user_pages/lib.py --\ mediagoblin/user_pages/views.py =============================================================================== Deleted Vestigial Code =============================================================================== --\ mediagoblin/db/util.py --\ mediagoblin/tests/test_notifications.py =============================================================================== Modified the Code: =============================================================================== --\ mediagoblin/moderation/tools.py --| Encapsulated the code around giving/taking away privileges into two | funtions. --\ mediagoblin/moderation/views.py --| Imported and used the give/take away privilege functions --| Replaced 'require_admin_or_moderator_login' with |'user_has_privilege(u"admin")' for adding/taking away privileges, only | admins are allowed to do this. --\ mediagoblin/templates/mediagoblin/banned.html --| Added relevant translation tags --| Added ability to display indefinite banning --\ mediagoblin/templates/mediagoblin/user_pages/media.html --| Made sure the add comments button was only visible for users with the | `commenter` privilege --\ mediagoblin/tests/test_submission.py --| Paroneayea fixed a DetachedInstanceError I was having with the our_user | function --\ mediagoblin/tests/tools.py --| Added a fixture_add_comment_report function for testing. --\ mediagoblin/tools/response.py --| Fixed a minor error where a necessary return statement was missing --| Fit the code within 80 columns --\ mediagoblin/user_pages/views.py --| Added a necessary decorator to ensure that only users with the 'commenter' | privilege can post comments =============================================================================== Wrote new tests for an old test file: =============================================================================== --\ mediagoblin/tests/test_auth.py --| Added a new test to make sure privilege granting on registration happens | correctly --\ mediagoblin/tests/test_modelmethods.py* --| Added a test to ensure the User method has_privilege works properly =============================================================================== Wrote entirely new files full of tests: =============================================================================== --\ mediagoblin/tests/test_moderation.py --\ mediagoblin/tests/test_privileges.py --\ mediagoblin/tests/test_reporting.py =============================================================================== =============================================================================== NOTE: Any files I've marked with a * in this commit report, were actually subm- itted in my last commit. I made that committ to fix an error I was having, so they weren't properly documented in that report. =============================================================================== ===============================================================================
| * This commit was just to fix a few of the errors with the merging and totilly-Q2013-08-201-1/+1
| | | | | | | | make sure that all of the previous tests work fine.
| * Merge branch 'ticket-679' into OPW-Moderation-Updatetilly-Q2013-07-291-33/+86
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | This was a simple commit. I changed all references to Groups into Privileges sotilly-Q2013-07-031-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | moved forgot pass to basic_auth pluginRodney Ewing2013-08-161-33/+4
| |/ |/|
* | merge --squash openid branch to take care of a false merge commit in theRodney Ewing2013-07-031-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | basic_auth branch that openid is forked from Commits squashed together (in reverse chronological order): - do the label thing only for boolean fields - made edit_account to autofocus on the first field - added feature to render_divs where if field.label == '' then it will render form.description the same a render_label - added allow_registration check - refactored create_user - removed verification_key from create_user - removed get_user from openid - cleanup after removing openid from template_env.globals - fix for werkzueg 0.9.1 - cleanup after merge - more tests - restored openid extra_validation just for safety - tests for openid - deleted openid extra_validation - passed next parameter in session for openid - fixed a bug that was deleting the messages - implemented openid store using sqlalchemy - ask openid provider for 'nickname' to prefill username in registration form - refactored delete openid url to work with generic urls such as google and to not allow a user to delete a url if it is there only one and they don't have a pw - refactored login to register user workflow, which fixed a problem where the 'or register with a password link' wasn't showing up when the finish_login view called the register view because there wasn't any redirect. - added the ability to remove openid's - added the ability to add openids to an existing account - refactored start_login and finish_login views - modified edit_account.html to use render_divs - modified gmg/edit/views to behave appropriatly if no password authentication is enabled. moved the update email stuff to it's own funtion to make edit_account view cleaner. edit_account now modifies the form depending on the plugins. - minor typos - added retrieving email from openid provider - moved allow_registration check to a decorator - moved check if auth is enabled to a decorator - changed openid user registration to go through login first - cleanup after merge - modified verification emails to use itsdangerous tokens - added error handling on bad token, fixed route, and added tests - added support for user to change email address - added link to login view openid/password in login template - updated openid get_user function - modified get_user function to take kwargs instead of username - no need for user might be email kwarg in check_login_simple - added gen_password_hash and check_password functions to auth/__init__ - added focus to form input - made imports fully qualified - modified basic_auth.check_login to check that the user has a pw_hash first - changed occurances of form.data['whatever'] to form.whatever.data - convert tabs to spaces in register template, remove unsed templates, and fixed trans tags in templates - in process of openid login. it works, but needs major imporvements - make password field required in basic_auth form - check if password field present in basic_auth create_user - modified openid create_user function - modified models based on Elronds suggestions - changed register form action to a variable to be passed in by the view using the template - openid plugin v0, still need to authenticate via openid. - added a register_user function to be able to use in a plugin's register view, and modified auth/views.register to redirect to openid/register if appropriate. - Modified basic_auth plugin to work with modified auth plugin hooks. Added context variables. Removed basic_auth/tools which was previously renamed to basic_auth/lib. - modified auth/__init__ hooks to work better with multiple plugins. Removed auth/lib.py. And added a basic_extra_verification function that all plugins will use. - added models and migrations for openid plugin
* | cleanup after mergeRodney Ewing2013-06-251-6/+7
| |
* | Merge remote-tracking branch 'upstream/master' into authRodney Ewing2013-06-251-12/+19
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mediagoblin/app.py mediagoblin/auth/forms.py mediagoblin/auth/tools.py mediagoblin/db/migrations.py mediagoblin/db/models.py mediagoblin/edit/views.py mediagoblin/plugins/basic_auth/tools.py mediagoblin/tests/test_edit.py
| * | cleanup after mergeRodney Ewing2013-05-291-0/+1
| | |
| * | modified verification emails to use itsdangerous tokensRodney Ewing2013-05-291-6/+7
| | |
| * | Merge remote-tracking branch 'upstream/master' into change_emailRodney Ewing2013-05-281-1/+115
| |\| | | | | | | | | | | | | Conflicts: mediagoblin/auth/lib.py
* | | changes after cwebb's reviewRodney Ewing2013-06-211-17/+2
| | |
* | | moved authentication_disabled to config_specRodney Ewing2013-06-151-3/+3
| | |
* | | changed no_auth to authentication_disabled in configRodney Ewing2013-06-111-6/+6
| | |
* | | fixed a bug that was deleting the messagesRodney Ewing2013-06-041-3/+4
| | |
* | | cleanupRodney Ewing2013-05-281-1/+1
| | |
* | | Merge remote-tracking branch 'upstream/master' into basic_authRodney Ewing2013-05-281-29/+29
|\ \ \ | | |/ | |/| | | | | | | | | | | | | Conflicts: mediagoblin/auth/tools.py mediagoblin/auth/views.py mediagoblin/plugins/basic_auth/tools.py
| * | added a register_user functionRodney Ewing2013-05-281-1/+50
| | | | | | | | | | | | | | | cherry picked from rodney757 and fixed for out of order picking.
| * | created a check_login_simple functionRodney Ewing2013-05-281-0/+23
| | | | | | | | | | | | | | | | | | cherry-picked from rodney757, fixed few conflicts due to out of order cherry-picking. Thanks to rodney757 for making my idea even better.
| * | moved send_verification_email to auth/toolsRodney Ewing2013-05-271-1/+38
| |/
* | cleanupRodney Ewing2013-05-281-8/+0
| |
* | Conflicts:Rodney Ewing2013-05-271-0/+4
| | | | | | | | | | | | mediagoblin/auth/tools.py mediagoblin/auth/views.py mediagoblin/plugins/basic_auth/tools.py
* | modified get_user function to take kwargs instead of usernameRodney Ewing2013-05-271-1/+1
| |
* | no need for user might be email kwarg in check_login_simpleRodney Ewing2013-05-271-1/+1
| |
* | Merge branch 'pre-auth' into basic_authRodney Ewing2013-05-271-30/+32
|\ \ | | | | | | | | | | | | | | | | | | Conflicts: mediagoblin/auth/tools.py mediagoblin/auth/views.py mediagoblin/plugins/basic_auth/tools.py
| * | moved fp_verification_email to auth/toolsRodney Ewing2013-05-271-0/+30
| | |
| * | created a check_login_simple functionRodney Ewing2013-05-271-0/+21
| | |
| * | added a register_user functionRodney Ewing2013-05-271-1/+52
| | |
| * | moved send_verification_email to auth/toolsRodney Ewing2013-05-271-1/+38
| |/
* | no need for check_login with the new check_login_simple functionRodney Ewing2013-05-271-1/+0
| |
* | renamed lib to toolsRodney Ewing2013-05-271-1/+0
| |
* | cleanup after mergeRodney Ewing2013-05-271-6/+3
| |
* | Merge branch 'pre-auth' into basic_authRodney Ewing2013-05-271-51/+60
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mediagoblin/auth/tools.py mediagoblin/auth/views.py mediagoblin/db/migrations.py mediagoblin/plugins/basic_auth/lib.py mediagoblin/plugins/httpapiauth/__init__.py mediagoblin/plugins/piwigo/views.py
| * | created a check_login_simple functionRodney Ewing2013-05-251-0/+21
| | |
| * | added a register_user functionRodney Ewing2013-05-241-1/+52
| | |
| * | moved send_verification_email to auth/toolsRodney Ewing2013-05-241-1/+38
| |/
* | moving forgot_password views back to gmg/auth and cleanupRodney Ewing2013-05-241-1/+30
| |
* | changed occurances of form.data['whatever'] to form.whatever.dataRodney Ewing2013-05-241-2/+2
| | | | | | | | | | | | Conflicts: mediagoblin/plugins/basic_auth/__init__.py mediagoblin/plugins/openid/__init__.py
* | added a register_user function to be able to use in a plugin's register ↵Rodney Ewing2013-05-241-0/+33
| | | | | | | | view, and modified auth/views.register to redirect to openid/register if appropriate.
* | modified auth/__init__ hooks to work better with multiple plugins. Removed ↵Rodney Ewing2013-05-241-3/+62
| | | | | | | | auth/lib.py. And added a basic_extra_verification function that all plugins will use.
* | log a previously logged in user when switched to no_auth modeRodney Ewing2013-05-241-0/+6
| |
* | changed from sys.exit() to raise AuthError for handling no_auth=false in ↵Rodney Ewing2013-05-241-4/+10
| | | | | | | | config and no auth plugin present
* | renamed hook as to no conflict with existing hook namesRodney Ewing2013-05-241-1/+1
| |
* | add a check for authentication plugin on startup and respond according to ↵Rodney Ewing2013-05-241-0/+22
|/ | | | no_auth config option. allows instance to be run w/o authentication
* moved normalize_user_or_email_field to auth/tools.py from auth/forms.pyRodney Ewing2013-05-231-0/+50