3327 Commits

Author SHA1 Message Date
Christopher Allan Webber
ac0bc6a1e1 fixing the config section we pull things out of for basic_auth 2013-07-03 08:09:48 -05:00
Rodney Ewing
c81186dd2e added a warning for old media types 2013-07-02 09:26:12 -07:00
Rodney Ewing
cbac4a7fc9 converted video media_type to plugin 2013-07-02 09:00:57 -07:00
Rodney Ewing
239296b004 converted stl media_type to plugin 2013-07-02 09:00:57 -07:00
Rodney Ewing
51e4e43504 converted pdf media_type to plugin 2013-07-02 09:00:57 -07:00
Rodney Ewing
df68438a34 converted audio media_type to plugin 2013-07-02 09:00:57 -07:00
Rodney Ewing
b1a763f61e typo in image supported_filetypes 2013-07-02 09:00:57 -07:00
Rodney Ewing
2293081231 converted ascii media_type to plugin 2013-07-02 09:00:50 -07:00
Rodney Ewing
e699197258 fixed some typos and enabled media_type plugins in tests 2013-07-02 08:06:39 -07:00
Rodney Ewing
2d9a452c3a removed sniff_handler from Imange Media Manager class 2013-07-02 07:22:02 -07:00
Rodney Ewing
90b7b6e878 removed CompatMediaManager() since all core media_types are classes 2013-07-02 07:22:02 -07: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
Christopher Allan Webber
e9f3306627 More clarifications on what ./bin/gmg dbupdate does on each run.
This commit sponsored by Jessica Howard.  Thanks, sistah!
2013-06-28 11:51:40 -05:00
Christopher Allan Webber
4436fbcd01 Some documentation on how to write database migrations.
This commit sponsored by Andrei Cristian Petcu.  Thanks!
2013-06-28 10:27:06 -05:00
tilly-Q
9b8ef022ef In this commit, I have made a few changes and tightened up some of my models
code. I added in two major pieces of functionality: table foundations and a
decorator to confirm whether or not a user is a member of a certain group.

Table Foundations are default rows that should be present in a given table as
soon as the database is initialized. For example, I am using these to populate
the core__groups table with all of the necessary groups ('moderator', 'com-
menter', etc). Right now, this is achieved by adding a dictionary of parameters
(with the parameters as lists) to the constant FOUNDATIONS in
mediagoblin.db.models. The keys to this dictionary are uninstantiated classes.
The classes which require foundations also have must have a constructor so that
the list of parameters can be passed appropriately like so:
        Model(*parameters)
In order to implement these foundations, I added the method populate_table_fou-
-ndations to MigrationManager in mediagoblin.db.migration_tools.

The decorator, called user_in_group, accepts as a parameter a unicode string,
and then decides whether to redirect to 403 or let the user access the page. The
identifier is the Group.group_name string, because I believe that will allow for
the most readable code.

I also added in the simple decorator require_admin_login.

In terms of tightening up my code, I made many minor changes to my use of white
space and made a few small documentation additions. I removed a vestigial class
(ReportForm) from mediagoblin.user_pages.forms. I moved all of my migrations in-
to one registered Migration.

Setting up Foundations
==============================

--\ mediagoblin/db/migration_tools.py
--| created: MigrationManager.populate_table_foundations
--| modified: MigrationManager.init_or_migrate to run
  |     self.populate_table_foundations on init

--\ mediagoblin/db/models.py
--| created: FOUNDATIONS
----| created: group_foundations

Working With Permissions
==============================
--\ mediagoblin/decorators.py
--| created: user_in_group
--| created: require_admin_login

--\ mediagoblin/user_pages/views.py
--| modified: added decorator user_in_group to file_a_report

--\ mediagoblin/admin/views.py
--| modified: added decorator require_admin_login to all views functions

General Code Tidying
=============================

--/ mediagoblin/admin/views.py
--/ mediagoblin/user_pages/forms.py
--/ mediagoblin/db/models.py
--/ mediagoblin/user_pages/lib.py
--/ mediagoblin/user_pages/views.py
--/ mediagoblin/db/migrations.py
2013-06-27 14:13:42 -07:00
Emily O'Leary
6db23bd9b6 Updated comments for run_all_migrations and config_spec.ini. 2013-06-27 17:05:25 -04:00
Rodney Ewing
491f2007f5 typo 2013-06-26 07:39:17 -07:00
Rodney Ewing
889564a3c1 do the label thing only for boolean fields 2013-06-26 07:36:11 -07:00
Rodney Ewing
c345dcf875 made edit_account to autofocus on the first field 2013-06-26 06:45:36 -07: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
1e21471a8a added feature to render_divs where if field.label == '' then it will render form.description the same a render_label 2013-06-25 16:28:45 -07:00
Christopher Allan Webber
15db183151 Explain about sqlite dropping the constraint and why we're adding it back manually. 2013-06-25 17:12:33 -05:00
Rodney Ewing
6174169786 cleanup after merge 2013-06-25 13:43:33 -07:00
Rodney Ewing
af4414a85f Merge remote-tracking branch 'upstream/master' into auth
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
2013-06-25 13:37:21 -07:00
Rodney Ewing
5a1be074c0 typo 2013-06-25 13:22:56 -07:00
Christopher Allan Webber
7fa4e19fc4 Add a bit more docs to plugin configuration
This commit sponsored by Michael Rauch.  Thank you!
2013-06-25 13:25:25 -05:00
tilly-Q
30a9fe7c1c This is the first stage of my project of implenting admin/moderator functiona-
lity. At this point, I have finished all the of basic work with the models! I
still need to do some tightening of their documentation, but they seem to be
working well.

Working with Models
========================================

--\ mediagoblin/db/models.py
--| Added in the Report model and table. This model is strictly a parent
----| Added in the CommentReport model which holds information about a report
    | filed against a comment. This class inherits from Report.
----| Added in the MediaReport model which holds information about a report f-
    | -iled against a media entry. This class inherits from Report.
--| Added in a UserBan model and table. This model is in a one to one relatio-
  | -nship with User. This object acts as a marker for whether a user is banned
  | or not.
--| Added in a Group model. These objects are in a many-to-many relationship
  | with User to explain which privileges a User has.
----| Added in GroupUserAssociation which is a table used to hold this many to
    | many relationship  between Group & User.

--\ mediagoblin/db/migrations.py
--| Added in the migrations for all of the additions to models
--| Added UserBan_v0
--| Added Report_v0
----| Added CommentReport_v0
----| Added MediaReport_v0
--| Added Group_v0
----| Added GroupUserAssociation_v0

Working with Templates, Views, and Routing
===============================================

>>> Reporting a Comment or a MediaEntry

--\ mediagoblin/user_pages/views.py
--| Added in the function file_a_report to allow user to file reports against
  | MediaEntries or Comments. Handles GET and POST requests.
--| Added in the function file_a_comment_report which uses file_a_report but
  | also catches appropriate information for comment_ids. I may be able to do
  | this more eloquently with decorators.

--\ mediagoblin/user_pages/routing.py
--| Added in route 'mediagoblin.user_pages.media_home.report_media'
  | (linked to address /u/<user>/m/<media>/report/ )
--| Added in route ''mediagoblin.user_pages.media_home.report_comment'
  | (linked to address /u/<user>/m/<media>/c/<comment>/report/ )

--\ mediagoblin/templates/mediagoblin/user_pages/report.html
--| I created this file to handle the filing of a report.

--\ mediagoblin/templates/mediagoblin/user_pages/media.html
--| Modified this file to add in links allowing users to report either media
  | or comments.

--\ mediagoblin/user_pages/lib.py
--| Added in build_report_form which processes data as either a CommentReport or
  | a MediaReport depending on which parameters are present

--\ mediagoblin/user_pages/forms.py
--| Added in CommentReportForm
--| Added in MediaReportForm
--| note: ReportForm is vestigial to an earlier strategy I used and I'll remove it
  | promptly

--\ mediagoblin/decorators.py
--| Added in 'get_media_comment_by_id' for use in mediagoblin/user_pages/views.py

>>> New Admin Panels

--\ mediagoblin/admin/views.py
--| Added in the function admin_users_panel
--| Added in the function admin_reports_panel

--\ mediagoblin/admin/routing.py
--| Added in route 'mediagoblin.admin.users'
  | (linked to address '/a/users')
--| Added in route 'mediagoblin.admin.reports'
  | (linked to address '/a/reports/')

--\ mediagoblin/templates/admin/user.html
--| Created this file as a template for monitoring users

--\ mediagoblin/templates/admin/report.html
--| Created this file as a template for monitoring reports filed against media or
  | comments
2013-06-24 16:35:31 -07:00
Christopher Allan Webber
c1b342ba95 Reverting "No more of this find_packages nonsense."
This reverts commit b75eb88fabdac4a9fdc863969ec9472110732607.
2013-06-24 09:10:48 -05:00
Christopher Allan Webber
c3de34d431 Adding a docstring to fixture_media_entry
It's not complete, but it makes clearer how to avoid errors with
fake_upload :)

This commit sponsored by Harper Sanford.  Thank you!
2013-06-22 17:40:12 -05:00
Christopher Allan Webber
56d1346789 Fix the data integrity bug in test_misc.
It turns out this has to do with some additions to the fixture adding
of media entries.  Since the new fake_upload field is True by default,
adding multiple entries that have media_files at once meant that
multiple additions of FileKeynames would be added at once if they were
not saved at the same time.  Tricky!

Thankfully, Elrond helped us figure this one out.  Thanks, Elrond :)

And thanks also to Aapo Rantalainen for sponsoring this commit!
2013-06-22 17:37:30 -05:00
Christopher Allan Webber
6331e927e4 Padding on the header-dropdown area
This helps make it a bit clearer that things are "contained inside"
the header dropdown area.
2013-06-22 16:19:58 -05:00
Christopher Allan Webber
257b8ab62a Merge remote-tracking branch 'refs/remotes/joar/notifications'
Conflicts:
	mediagoblin/db/migrations.py
2013-06-22 16:13:41 -05:00
Christopher Allan Webber
75ee3de301 Fix by Rodney Ewing so render_http_exception works with newer Werkzeug versions. 2013-06-22 12:25:31 -05:00
Christopher Allan Webber
f7698af1c1 Removing the "enter your password to change your email" bit.
A good idea, though it feels fairly clumsy in the form, and I think if
you're logged in you can already sabotage the user pretty well.

This commit sponsored by Sergey Matveev.  Thanks!
2013-06-21 17:24:33 -05:00
Rodney Ewing
e4deacd9c8 changes after cwebb's review 2013-06-21 14:14:40 -07:00
Christopher Allan Webber
c482f0149d Merge remote-tracking branch 'refs/remotes/rodney757-github/mail' 2013-06-21 15:50:36 -05:00
Christopher Allan Webber
92b22e7dea Indenting some stuff in pdf.html and wrapping width and height parameters in quotes 2013-06-20 18:14:14 -05:00
Alon Levy
0c6ae5ab08 pdf: remove two unused files (we use pdf.js in an iframe, no need for our own bastard copy)
Signed-off-by: Alon Levy <alevy@redhat.com>
2013-06-21 01:52:30 +03:00
Christopher Allan Webber
98454be7e9 What is models_v0.py? An explaination!
This commit sponsored by Alex Hannan-Joyner.  Thanks!
2013-06-20 12:08:20 -05:00
Christopher Allan Webber
838cde8175 Now in dev mode on 0.4.1 2013-06-17 22:50:31 -05:00
Christopher Allan Webber
1f973d93f4 MediaGoblin v0.4.0! 2013-06-16 20:32:28 -05:00
Christopher Allan Webber
f745220522 Committing extracted and compiled translations 2013-06-16 20:06:48 -05:00
Christopher Allan Webber
faf104ced8 Committing present MediaGoblin translations before pushing extracted messages 2013-06-16 20:06:32 -05:00
Christopher Allan Webber
51702d5b7d Documenting most of the the many new features in the release notes. 2013-06-16 19:39:03 -05:00
Christopher Allan Webber
384539b141 Added Laura Arjona to AUTHORS.
I'm not sure what all translators are there, but for sure Laura has
done a lot ;)
2013-06-15 18:49:32 -05:00
Rodney Ewing
54ef2c408b moved authentication_disabled to config_spec 2013-06-15 12:32:20 -07:00
Christopher Allan Webber
33db9af22c Adding new contributors to this release 2013-06-15 11:44:00 -05:00
Alon Levy
376dcbb493 media-types.rst: clarify the pdf media type requirements
Explain that it works fine without libreoffice, just with reduced
functionality.

Signed-off-by: Alon Levy <alevy@redhat.com>
2013-06-12 21:56:25 -05:00
Rodney Ewing
5101c469d7 changed no_auth to authentication_disabled in config 2013-06-11 14:30:38 -07:00
Joar Wandborg
0c7fa7556c New notifications, fixed
- Remove notification-gem if notifications are null
- Move comment-susbscription next to add-comment button
- Add copyright header to notifications.js
2013-06-09 22:23:20 +02:00