This fixes the problem where GenericForeignKey could only be used with models
that are in the core of Mediagoblin, it now can be used with any model
that SQLAlchemy knows about, including plugins. This also fixes some small bugs
caused by incorrect ordering of params into a function.
Added "height" and "width" attributes to "image" and "fullImage"
in the API where possible. The height and width of images wasn't
being stored anywhere so I've created a task to add or update
the metadata on images and also started adding those to new images
when they're submitted in the InitialProcessor.
- Add unit tests to cover get and set methods on Activity
- Rewrite the set to remove set and use Session.flush instead
- Use sqlalchemy's validator instead of .save hack
Add Location model which holds textual, geolocation coordiantes
or postal addresses. This migrates data off Image model metadata
onto the general Location model. It also adds the ability for location
to be set on MediaEntry, User, MediaComment and Collection models.
The geolocation plugin has been updated so that the location can be displayed
in more general places rather than explicitely on the MediaEntry view.
If GPS coordiantes are set for the User the profile page will also have the
OSM provided by the geolocation plugin.
- Make changes to objectType to be more pythonic "object_type"
- Move object_type to mixins rather than be on the models
- Convert migrations to sqlalchemy core rather than ORM (fix)
- Change TYPES to use descriptive strings rather than numbers
- This has introduced a intermediatory table between object/target and
the activity. This allows for multiple activities to be associated
with one object/target.
- This moves some of the methods off Activity model into a mixin which
didn't need to interact with database things.
- This also cleaned up the migrations as well as adding retroactive
creation of activities for collection creation.
This adds betters upport for targets in the content generation
and on the model itself. Adding getters for properties which would
otherwise require looking up e.g. get_author.
This creates the Activity and Genrator models from the Activity
Streams spec and. I then created a migration which retro-actively
create activities for media uploaded and comments created. Through
out the code I've added so automatically activties are created when
a user peforms an action (uploading media, commenting, etc.).
The previous migration, as it turns out, was not needed, and there
were many inconsistencies put in place by adding it. See issue #920.
This commit sponsored by Gergő Tisza. Thank you!
- Add json_error and use inplace of json_response where appropriate.
- Add garbage_collection to config spec file.
- Fix bugs in both garbage collection task and test
- Handle /api/whoami when no user logged in and a test for such a case.
- Validate ID is correct and user has comment privilege to comment.
Instead of having __repr__ return a unicode object which it should
not do, we use the __unicode__ method to allow use of Notification
and MediaCommentMixin objects in unicode strings.