3620 Commits

Author SHA1 Message Date
xray7224
cae55705b1 Fix problem causing exception when invalid Authentication header provided 2013-07-29 17:48:53 +01:00
xray7224
4554d6e014 Fix problem with routing to oauth 2013-07-29 17:29:56 +01:00
xray7224
0ec89cb29f Fixes problem with headers pointing to old federation dir 2013-07-29 17:25:10 +01:00
tilly-Q
3aa3871b90 This commit had some important milestones in it. The major update is that now I
have mostly completed the moderator punishment and resolution of reports. Along
with this, I have also added one last table to the database: one that holds ar-
-chived (or resolved) reports. This is some of the primary functionality of my
whole update, so this is a big step! The other changes I made this update are
primarily organizational. I refactored some of my code into functions and I cl-
eaned up many of my templates.

--\ mediagoblin/db/models.py
--| Created the new ArchivedReport table
--| Removed columns from BaseReport table that are only necessary for Archived
  |    reports

--\ mediagoblin/db/migrations.py
--| Created the new ArchivedReport table
--| Removed columns from BaseReport table that are only necessary for Archived
  |    reports

--\ mediagoblin/db/util.py
--| Created the user_privileges_to_dictionary function. This is useful for
  |    accessing a user's permissions from within a template.

--\ mediagoblin/moderation/forms.py
--| Expanded the disciplinary actions a moderator can take
--| Allowed the moderator to choose more than one disciplinary action at a time
  |    (It's now managed with a list of checkboxes rather than radio buttons)
----| Pulled a MultiCheckBox class from  a wtforms tutorial
--| Added various other form inputs for details of the moderator's disciplinary
  |    actions
--| Tried to ensure that every string is unicode and translated

--\ mediagoblin/moderation/tools.py
--| Created this file for holding useful moderation tools
--| Moved the penalizing code from views to the function take_punitive_actions
--| Added many more types of punitive actions
--| Added the archiving of old reports

--\ mediagoblin/moderation/views.py
--| Used the privileges_to_dictionary function for the Users Detail view to
  |   allow for different actions available to a moderator and an admin.
--| Added in functionality for ArchivedReports to the reports_detail and
  |   reports_panel views
--| Moved the punishments of repots_detail to tools.py (as mentioned above)

--\ mediagoblin/static/css/base.css
--| Added new styling for the User Detail page

--\ mediagoblin/static/images/icon_clipboard_alert.png
--| Added this image to represent unresolved reports

--\ mediagoblin/templates/mediagoblin/moderation/report.html
--| Added 'Return to Reports Panel' button
--| Fixed the spacing to be less that 80 columns wide
--| Added in display for Archived Reports

--\ mediagoblin/templates/mediagoblin/moderation/reports_panel.html
--| Changed the placement and columns of the tables
--| Fixed the spacing to be less that 80 columns wide
--| Added in display for Archived Reports

--\ mediagoblin/templates/mediagoblin/moderation/user.html
--| Fixed the spacing to be less that 80 columns wide
--| Took away the moderator's ability to add and remove privileges at will.
  |  Only the admin has this power now.

--\ mediagoblin/templates/mediagoblin/moderation/users_panel.html
--| Fixed the spacing to be less that 80 columns wide

--\ mediagoblin/tools/response.py
--| Added in code to remove a UserBan from a User if that user logs in after
  |  the expiration date
2013-07-27 16:44:40 -04:00
Christopher Allan Webber
99d79749c4 Set up in-package virtualenv via make 2013-07-25 15:15:49 -05:00
Christopher Allan Webber
68f6f91339 Removing aclocal.m4, which is autogenerated 2013-07-25 14:56:08 -05:00
Christopher Allan Webber
7b3d6c675e Adding .gitignore for pyconfigure/automake generated files 2013-07-25 14:53:18 -05:00
Christopher Allan Webber
00ed01b7cb Moving setup.py.in back to setup.py 2013-07-25 14:34:48 -05:00
Christopher Allan Webber
2723bb154a Merge remote-tracking branch 'refs/remotes/brandoninvergo/pyconfigure' into merge-pyconfigure 2013-07-25 14:29:30 -05:00
Christopher Allan Webber
9a2b36c9a2 More up to date README 2013-07-25 14:05:50 -05:00
Christopher Allan Webber
b889f97156 Move the "cd mediagoblin" to the right line. Thanks usrnix!
This commit sponsored by Kenneth Dombrowski.  Thanks!
2013-07-23 20:24:30 -05:00
xray7224
005181b166 Renames OAuth1 code to federation 2013-07-22 17:06:00 +01:00
xray7224
657263abdf Refactor WTFormData 2013-07-22 16:56:22 +01:00
Jessica Tallon
8e3bf97821 Fix problem with migration - OAuth 2013-07-22 17:17:01 +01:00
Jessica Tallon
617bff1830 Fixes some typo's and removes unused imports 2013-07-20 19:08:02 +01:00
xray7224
7271b06282 Moves first versions of the the models to migrations 2013-07-18 20:39:15 +01:00
xray7224
8ddd7769de Adds migration for OAuth1 tables 2013-07-18 20:24:35 +01:00
xray7224
89d5b44e0a Adds test for request_tokens 2013-07-18 19:15:05 +01: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
xray7224
86ba416883 Adds some tests for the OAuth and some docs 2013-07-16 19:19:49 +01:00
Christopher Allan Webber
64ad0beea8 Fixing docs: git submodule update, not git submodule fetch!
This commit sponsored by Charles Combs.  Thank you!
2013-07-14 21:05:01 -05:00
xray7224
1c694fbec5 Fixes tests 2013-07-14 19:00:52 +01:00
xray7224
670717d950 Merge branch 'master' of git://gitorious.org/mediagoblin/mediagoblin 2013-07-14 17:31:03 +01:00
Christopher Allan Webber
df206ab633 Skip the openid tests if the openid module is not installed.
This commit sponsored by Brandon Smith.  Thank you!
2013-07-14 11:23:52 -05:00
xray7224
cfe7054c13 Using nonce now, preventing OAuth replay attacks 2013-07-14 16:24:04 +01:00
xray7224
e49263564b Merge branch 'master' of git://gitorious.org/mediagoblin/mediagoblin 2013-07-14 15:27:52 +01:00
Christopher Allan Webber
2d0028e932 Documenting the media_manager fetching hook
This commit sponsored by Christian Corrodi.  Thank you!
2013-07-12 17:13:48 -05:00
Christopher Allan Webber
6403bc928b Switching the hook 'get_media_manager' to a more "directed" tuple-hook
By switching this to a tuple that includes the media type in the key
itself, this requires iteration and execution of functions that
"check" that they are the right type.

This commit sponsored by Greg Grossmeier.  Thanks buddy! :)
2013-07-12 17:04:08 -05:00
Rodney Ewing
91bee92e8e documenting the new media_type plugins and available hooks 2013-07-12 14:35:43 -07: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
Christopher Allan Webber
4259ad5bf1 Fix the last bit preventing all the unit tests from passing in media types->plugins
The last commit was also small, so Jeff Moe gets... two!  Two sponsored commits!
Ah ah ah. </count_voice>
2013-07-12 15:52:20 -05:00
Christopher Allan Webber
60eeb45664 Switch the import of the image media manager over to the new class
This helps resolve one of the remaining issues with the tests for the
media type pluginification.

This commit sponsored by Jeffrey Moe.  Thanks Jeff!  Lulzbot rocks!
2013-07-12 14:53:10 -05:00
Christopher Allan Webber
003ea47499 Changing the information spat out while printing from media types->plugins
Previously it called even plugins media types.  Ha!

This commit sponsored by Jon Merkley.  Thank you!
2013-07-12 14:16:47 -05:00
Rodney Ewing
ac08a9acaf Patch by Strum. Remove redundent tool-tips from Stl media_type 2013-07-12 09:51:42 -07:00
Rodney Ewing
7bfb3ae829 Patch by pythonsnake. Make mediagoblin.ini comments more helpful. 2013-07-12 09:32:50 -07:00
Rodney Ewing
0f231966b3 make change_pass page autofocus 2013-07-11 16:33:33 -07:00
Rodney Ewing
643f07af06 forgot to render errors 2013-07-11 16:29:16 -07:00
Rodney Ewing
a937ea9efd change to class instead of id to work with firefox 2013-07-11 16:29:16 -07:00
Rodney Ewing
f7998c3326 fix for boolean fields 2013-07-11 16:29:16 -07:00
Rodney Ewing
0ec7ce4ec6 updated to new render_divs macro 2013-07-11 14:56:40 -07:00
Jakob Kramer
ef57b0622c save “stay_logged_in” in the session
Since sessions are rebuilt, e.g. when you try to post a blank
comment and therefore receive an error message, the session will
be overwritten without the old max_age.
2013-07-11 14:56:40 -07:00
Jakob Kramer
527b7e3b57 add login option: stay_logged_in
As proposed in issue #354; it adds an attribute max_age
to mediagoblin.tools.session.Session  that is passed to
response.set_cookie;  max_age is set to 30  days if the
checkbox is selected
2013-07-11 14:56:40 -07:00
Rodney Ewing
a4dcb1f46a Patch submitted by mrb.
Fix to link to the pubsub hub for atom_feed 'by tag'.

Added 'rel': 'alternate' and 'type': 'text/html' to 'atomlinks'
2013-07-11 14:35:44 -07: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
xray7224
49a47ec991 Ensures endpoint queries with @oauth_required are validated 2013-07-11 20:55:08 +01:00
dunkyp
3aeca53c85 fixes the inability to upload non ascii filenames, werkzeug strips all non ascii chars and returns an empty string. This checks if the filename contains non asciis and if it does generates a uuid for filename. Also the request version of filename is used for generating alternative title for upload
cherry-picked from dunkyp. fixed conflicts and missing import.
2013-07-11 12:52:05 -07:00
Rodney Ewing
9609ddc0a6 should use media.slug_or_id incase a MediaEntry doesn't have a slug 2013-07-11 12:42:51 -07:00
xray7224
1e2675b0c0 Adds the decorator 2013-07-11 20:24:20 +01:00
xray7224
786bbd79e8 Cleans up some of the OAuth code 2013-07-11 19:43:00 +01:00
xray7224
2b60a56cbe Finishes most of oauth, just decorator to complete 2013-07-11 18:21:43 +01:00