3654 Commits

Author SHA1 Message Date
Rodney Ewing
2e22cefdd9 skip audio reprocessing if necessary 2013-09-19 08:12:10 -07:00
Rodney Ewing
f4f84297ef make all JSONEncoded columns mutable 2013-09-19 08:12:10 -07:00
Rodney Ewing
7f9d3ca7c9 need to use mutation tracking to detect changes in JSONEncoded types 2013-09-19 08:12:09 -07:00
Rodney Ewing
755b6a86b6 skip ascii thumb resizing if necessary 2013-09-19 08:12:09 -07:00
Rodney Ewing
b643a9cd80 skip image resizing if possible 2013-09-19 08:11:39 -07:00
Rodney Ewing
4502dfca89 get and set metadata for a MediaFile 2013-09-19 08:11:06 -07:00
Christopher Allan Webber
529eb17b38 Merge remote-tracking branch 'refs/remotes/rodney757/reprocessing'
Conflicts:
	mediagoblin/db/migrations.py
2013-09-18 14:45:23 -05:00
Christopher Allan Webber
28eab59ace Merge remote-tracking branch 'refs/remotes/rodney757/file_limits'
Conflicts:
	mediagoblin/db/migrations.py
2013-09-18 11:21:57 -05:00
Christopher Allan Webber
81e536e1a2 Also add a bit of color to the theme's base color
This commit sponsored by Marc Lijour.  Thanks!
2013-09-15 09:54:28 -05:00
Christopher Allan Webber
a7fc4ecf40 Updating the video.js that we use to avoid an XSS attack. Yikes! ;\
This commit sponsored by Daniel Valentine.  Thank you!
2013-09-15 09:46:01 -05:00
Christopher Allan Webber
1fef79f4f8 Fix pagination for certain request.GET data
This didn't work at all nicely with MultiDict objects in various
circumstances and could possibly break pagination.  This fix handles
that!

This commit sponsored by Alessandro Francolini.  Thank you!
2013-09-13 10:16:07 -05:00
tilly-Q
045fe0ee9d Merge branch 'master' into OPW-Moderation-Update
Conflicts:
	mediagoblin/db/migrations.py
2013-09-12 18:58:04 -04:00
tilly-Q
a02831687a In this next small update, I made a few changes to protect against XXS attacks
in the moderation panel.
2013-09-12 18:16:25 -04:00
tilly-Q
c906887025 In this commit, I'm deleting the ArchivedReports object, at paroneyea's recom-
-mendation. Instead, all of its functionality will be in the ReportBase object.
2013-09-11 17:09:21 -04:00
tilly-Q
6acf4ee60e This should be my final code update before I am ready for review! Basically, in
this update I finished the search/sort function on the Reports Panel. I also
finished the Terms of Service and made the decision to remove the meta portion
of the site I had planned to create. I decided that the features involved were
just unnecessary at this point. I also dropped the User status column and added
a migration to establish default privileges (and create the privilege foundat-
-ions. I fixed a few small errors that were left over as well, in the implemen-
tation and in the tests. Next, I just need to await code review and work on the
documentation for these new features. I also need to supervise a new merge to
master.

===============================================================================
    Dropped the vestigial 'status' column
===============================================================================
--\ mediagoblin/db/migrations.py
--\ mediagoblin/db/models.py
--| Also added in comments describing the current situation with the `is_admin`
  | and `email_verified` columns, where they are 100% vestigial but cannot be
  | dropped.

===============================================================================
            Wrote necessary migrations to set up Privilege
    foundations and give users the necessary privileges on an older
     implementation of mediagoblin that is migrating into this update
===============================================================================
--\ mediagoblin/db/migrations.py

===============================================================================
    Deleted the meta pages
===============================================================================
--\ Deleted mediagoblin/meta/__init__.py
--\ Deleted mediagoblin/meta/routing.py
--\ Deleted mediagoblin/meta/views.py
--\ Deleted mediagoblin/templates/mediagoblin/meta/code_of_conduct.html
--\ Deleted mediagoblin/templates/mediagoblin/meta/reports_details.html
--\ Deleted mediagoblin/templates/mediagoblin/meta/reports_panel.html
    ----------------------------------------------------------------
        Moved the terms of service to /terms_of_service
    ----------------------------------------------------------------
    --\ Moved mediagoblin/templates/mediagoblin/meta/terms_of_service.html
        -> mediagoblin/templates/mediagoblin/terms_of_service.html
    --| I decided that terms of service were really the only necessary part of my
      | planned "meta" pages, so I moved it instead to its own singular page
    --\ mediagoblin/routing.py
    --\ mediagoblin/static/css/base.css
    --\ mediagoblin/templates/mediagoblin/base.html
    --\ mediagoblin/views.py

===============================================================================
          Simplified & Finished the Reports Panel Searching
===============================================================================
--\ mediagoblin/moderation/forms.py
--\ mediagoblin/moderation/tools.py
--\ mediagoblin/moderation/views.py
--\ mediagoblin/templates/mediagoblin/moderation/report_panel.html
--\ mediagoblin/templates/mediagoblin/moderation/user.html

===============================================================================
                  Fixed Small Errors
===============================================================================
--\ mediagoblin/templates/mediagoblin/user_pages/user.html
--\ mediagoblin/tests/test_moderation.py
--\ mediagoblin/tests/tools.py

===============================================================================
2013-09-10 13:17:07 -04:00
Christopher Allan Webber
66cafc3b74 Support python 2.6 again! Thanks to julianoliver for catching this.
This commit sponsored by Sam Clegg.  Thank you!
2013-09-09 10:06:59 -05:00
tilly-Q
25625107b6 This was a quick update, I mostly worked on the transition from using the old
User table columns (is_admin, status, email_verified) and making sure that
their functionality is instead completely handled by privileges. I also worked
on the meta pages which I hope to finish soon. I set up migrations to ensure
the default privileges are given to users that should have them. Lastly, I made
it so that banned users can log out.

===============================================================================
    Made Sure the Vestigial Columns of the User Table were not being Used
===============================================================================
--\ mediagoblin/auth/views.py
--\ mediagoblin/db/models.py
--\ mediagoblin/templates/mediagoblin/base.html
--\ mediagoblin/templates/mediagoblin/moderation/user.html
--\ mediagoblin/templates/mediagoblin/user_pages/collection_lis$
--\ mediagoblin/templates/mediagoblin/user_pages/user.html
--\ mediagoblin/tests/test_auth.py
--\ mediagoblin/tests/test_persona.py
--\ mediagoblin/user_pages/views.py

===============================================================================
    Wrote the Migrations to Set up the Default Privileges
===============================================================================
--\ mediagoblin/db/migrations.py
--\ mediagoblin/gmg_commands/users.py

===============================================================================
    Work on the Meta Pages
===============================================================================
--\ mediagoblin/meta/routing.py
--\ mediagoblin/meta/views.py
--\ mediagoblin/static/css/base.css
--\ mediagoblin/templates/mediagoblin/meta/terms_of_service.html

===============================================================================
    Small Changes
===============================================================================
--\ mediagoblin/templates/mediagoblin/base.html
--| Benevolently made it so that banned users can log out

===============================================================================
X   X   X   X   X   X   X   X   X   X   X   X   X   X   X   X   X   X   X   X
===============================================================================
2013-09-08 18:26:37 -04:00
Rodney Ewing
0485e9c892 typo. conversions not convirsions
thanks to saul for pointing this out.
2013-09-06 14:28:40 -07:00
Rodney Ewing
85cf52f865 reword persona edit link 2013-09-05 09:04:23 -07:00
Christopher Allan Webber
5a756fb819 Revert "Temporarily switching git:// to http://"
This reverts commit 18922af5830f4a7686ec3b3ff11dc309a5a9cca6.
2013-09-05 09:51:22 -05:00
Christopher Allan Webber
18922af583 Temporarily switching git:// to http:// 2013-09-05 09:37:08 -05:00
Christopher Allan Webber
936624c362 In the v0.6.0 cycle now 2013-09-05 09:34:48 -05:00
Christopher Allan Webber
612469595b MediaGoblin v0.5.0! 2013-09-04 16:25:12 -05:00
Christopher Allan Webber
a25adfc424 Committing extracted and compiled translations 2013-09-04 16:07:37 -05:00
Christopher Allan Webber
07b02d2bc2 Committing present MediaGoblin translations before pushing extracted messages 2013-09-04 16:07:12 -05:00
Christopher Allan Webber
b299b6b7b8 Committing extracted and compiled translations 2013-09-04 16:03:57 -05:00
Christopher Allan Webber
577e8fc705 Committing present MediaGoblin translations before pushing extracted messages 2013-09-04 16:02:48 -05:00
Christopher Allan Webber
5738838e93 Fixing tyop. Thanks for catching, tryggvib :) 2013-09-04 16:01:21 -05:00
Christopher Allan Webber
abff297cf9 Caution about the API in the release notes 2013-09-04 14:27:18 -05:00
Rodney Ewing
857512e81e need to send the users email to persona if the user logged in with persona.
Thanks callahad for pointing this out.
2013-09-04 08:45:08 -07:00
Christopher Allan Webber
d87d099dd8 Thanking Dan Callahan as a contributor. Thanks for helping with the persona stuff! :) 2013-09-04 09:23:02 -05:00
Sebastian Spaeth
560fd63843 Improve checkbox description
Do not Enable/Disable next to a checkbox. So what does an enabled checkbox do then?
2013-09-04 14:54:00 +02:00
Christopher Allan Webber
100625f6c2 Merge remote-tracking branch 'refs/remotes/spaetz/fix_docs' 2013-09-04 07:41:56 -05:00
Sebastian Spaeth
cc0c6cd250 Fix plugin documentation
The docs suggest to use {% template_hook "media_sidebar" %}. This
will break Mediagoblin in mysterious ways, and the docs need a fix.
2013-09-04 11:35:39 +02:00
Dan Callahan
b6fc7dd96e Add site name, logo, and background for Persona 2013-09-03 15:54:04 -05:00
tilly-Q
8e91df8734 I did some more code-keeping in this commit. I added a lot of documentation, so
that most of my functions do indeed have effective docstrings. I also changed
the decorators so that they imply eachother in a logical way. I also modified
the one decorator get_media_comment_by_id to be more usable with the variable
urls of mediagoblin.user_pages.views:file_a_report. I also noticed a few tests
had broken, so I went through them and fixed them up, finding that mostly there
were problems in my actual writing of the tests. I also did a few other small
tasks such as creating a new User method to check whether or not a User is ban-
-ned.

===============================================================================
    Added in documentation
===============================================================================
--\  mediagoblin/db/models.py
--\  mediagoblin/decorators.py
--\  mediagoblin/moderation/forms.py
--\  mediagoblin/moderation/tools.py
--\  mediagoblin/moderation/views.py
--\  mediagoblin/user_pages/lib.py

===============================================================================
    Rearranged decorators to be more efficient
===============================================================================
--\  mediagoblin/decorators.py
--| Made it so that user_not_banned is encapsulated in require_active_login
--| Made it so that require_active_login is encapsulated in user_has_privilege
--| Changed get_media_comment_by_id into get_optional_media_comment_by_id. It
  | now returns valid code if the MediaComment id is absent. This makes it pos-
  | -sible to use this decorator for the function:
  |         mediagoblin.user_pages.views:file_a_report

--\  mediagoblin/user_pages/views.py
--| Replaced the mediagoblin.user_pages.views:file_a_comment_report with the
  | decorator mentioned above

--\  mediagoblin/user_pages/routing.py

        -----------------------------------------------------------
        |     took out unnecessary @user_not_banned decorators    |
        -----------------------------------------------------------
--\  mediagoblin/submit/views.py
--\  mediagoblin/user_pages/views.py

===============================================================================
    Fixed broken tests
===============================================================================
--\  mediagoblin/tests/test_auth.py
--\  mediagoblin/tests/test_privileges.py
--\  mediagoblin/tests/test_submission.py

===============================================================================
    Fixed broken code
===============================================================================
--\  mediagoblin/tools/response.py

===============================================================================
    Other Tasks
===============================================================================
--\  mediagoblin/db/models.py
--| Added in User.is_banned() method
--\  mediagoblin/decorators.py
--| Utitilized User.is_banned() method in the user_not_banned decorator

--\  mediagoblin/moderation/views.py
--| Made it impossible for an admin to ban themself.
--| Got rid of a vestigial print statement

--\  mediagoblin/templates/mediagoblin/base.html
--| Made it so the top panel does not show up for users that are banned.

--\  mediagoblin/templates/mediagoblin/moderation/user.html
--| Rearranged the javascript slightly

===============================================================================
2013-09-03 16:19:07 -04:00
Christopher Allan Webber
6a7e4b431c Updated AUTHORS for v0.5.0 2013-09-03 11:38:50 -05:00
tilly-Q
dc31cd1b65 I've moved on to one of the last phases of my work! Now I'm just checking off
items from my last to-do list. The biggest change in this commit is that I made
the moderation reports panel sortable via get request. I also added in page nu-
mbers so that more than 10 reports can be viewed. I'm hoping to go from here to
make a search page. Aside from that, there were only a few other changes I made
this time. I fixed two bugs in my code. I copy-ed and pasted function
mediagoblin.user_pages.views:media_preview_comment which I must've deleted ear-
-lier in a merge. And I moved some of the javascript I was using in the modera-
-tion templates into it's own seperate .js file.

===============================================================================
    Made the moderation reports panel view sortable
===============================================================================
--\ mediagoblin/moderation/forms.py
--\ mediagoblin/moderation/views.py
--\ mediagoblin/templates/mediagoblin/moderation/report_panel.html
--\ mediagoblin/templates/mediagoblin/moderation/user.html
--|  Made `<user> report history` into a link that automatically shows all open
  | and closed reports on <user>.

===============================================================================
    Grabbed some code from master that I accidentally deleted in a merge
===============================================================================
--\ mediagoblin/user_pages/views.py

===============================================================================
    Moved javascript away from templates into its own file
===============================================================================
--\ mediagoblin/static/js/setup_report_forms.js
--\ mediagoblin/templates/mediagoblin/moderation/report.html
--\ mediagoblin/templates/mediagoblin/moderation/user.html

===============================================================================
    Cleared trailing white space
===============================================================================
--\ mediagoblin/templates/mediagoblin/moderation/media_panel.html
--\ mediagoblin/moderation/tools.py
--\ mediagoblin/templates/mediagoblin/meta/terms_of_service.html
--\ mediagoblin/templates/mediagoblin/moderation/report_panel.html
--\ mediagoblin/templates/mediagoblin/user_pages/media.html
--\ mediagoblin/tests/test_modelmethods.py

===============================================================================
    Small fixes
===============================================================================
--\ mediagoblin/templates/mediagoblin/moderation/report.html
--|  Fixed a link so that it points to the correct user page

--\ mediagoblin/templates/mediagoblin/user_pages/media.html
--|  Fixed a bug that crashed this page when a guest visitted it (because
  | request.user is None)
2013-09-03 11:57:10 -04:00
Sebastian Spaeth
51b4318079 Simplify non-active user page
Currently, the logic of whether a user account has been activated is in
the main user.html template. This is not good as: doing that check for all
users from template code is probably not great for performance, but more
severly, the template logic is rather difficult and convoluted.

Split this in a user.html and a user_nonactive.html where user.html is
used for active users and user_nonactive displays all the "you still need
to be activated" blurbs. This makes the templates much easier on the eyes.
2013-09-03 17:52:28 +02:00
Rodney Ewing
6375cf735c should use public_store.file_exists to check if the file copied correctly 2013-09-02 12:09:55 -07:00
Rodney Ewing
dd57c6c5e5 didn't remove form.new_email when change email was moved to its own view 2013-08-31 13:45:58 -07:00
Christopher Allan Webber
6b61a51e45 We're presently tied to a very specific version of oauthlib... 2013-08-30 16:27:39 -05:00
tilly-Q
1bb367f613 This is a quick commit. I gave admins the ability to ban or unban users
straight from the moderation.users_detail page. I also changed the
UserBan.expiration_date type from DateTime into Date. I also began work on the
Terms of Service, pulled from another website (which will be cited clearly
before I'm done). I added new tests as well for the ban/unbanning. Lastly,
I added a few `user_not_banned` decorators to relevant views, so banned users
cannot access any pages.
2013-08-29 17:31:19 -04:00
tilly-Q
dfd66b789c This was a big commit! I included lots of documentation below, but generally I
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.
===============================================================================
===============================================================================
2013-08-29 13:47:50 -04:00
Rodney Ewing
3f59518463 pdf media_type now have their own config_spec.ini 2013-08-29 08:22:16 -07:00
Rodney Ewing
738cc49926 ascii media_type now have their own config_spec.ini 2013-08-29 08:22:16 -07:00
Rodney Ewing
9ff68c224e audio media_type now have their own config_spec.ini 2013-08-29 08:22:16 -07:00
Rodney Ewing
9a6741d7bf video media_type now have their own config_spec.ini 2013-08-29 08:22:16 -07:00
Rodney Ewing
93874d0a66 image media_type now have their own config_spec.ini 2013-08-29 08:22:16 -07:00
Christopher Allan Webber
6a01fafc98 Explicitly require a newer celery 2013-08-29 09:36:34 -05:00