mediagoblin.git
9 years agoadded docs about new gstreamer
Boris Bobrov [Mon, 16 Feb 2015 02:05:41 +0000 (05:05 +0300)]
added docs about new gstreamer

9 years agoPort of audio to GStreamer 1.0
Boris Bobrov [Fri, 13 Jun 2014 06:02:10 +0000 (10:02 +0400)]
Port of audio to GStreamer 1.0

Includes:
 - transcoders
 - thumbs
 - tests

9 years agoPorting video to GStreamer 1.0
Boris Bobrov [Thu, 5 Jun 2014 11:42:12 +0000 (15:42 +0400)]
Porting video to GStreamer 1.0

Porting includes:
 - thumbnailer
 - transcoder
 - metadata handling
 - new common discoverer for media
 - new tests with in-memory test video generating
 - handling regardless of audio availability in the file
 - Pythonic gst pipelines

9 years agoRewrite thumbnailer
Boris Bobrov [Thu, 29 May 2014 10:50:32 +0000 (14:50 +0400)]
Rewrite thumbnailer

Previous thumbnailer didn't always work properly. It was also not ready
to be ported to GStreamer 1.0

The rewrite makes it shorter, more pythonic and prepares it for porting.

 - no longer uses playbin2;
 - is tested
 - logs some events
 - previous thumbnailer is removed

9 years agoLet parser handle typing for deletuser command
Jessica Tallon [Tue, 20 Jan 2015 10:49:24 +0000 (10:49 +0000)]
Let parser handle typing for deletuser command

9 years agofixed wrong git mv in Pootle transition script
Boris Bobrov [Mon, 19 Jan 2015 20:14:22 +0000 (23:14 +0300)]
fixed wrong git mv in Pootle transition script

9 years agoCommitting extracted and compiled translations
Christopher Allan Webber [Sun, 18 Jan 2015 22:03:38 +0000 (16:03 -0600)]
Committing extracted and compiled translations

9 years agoCompile .po files to the LC_MESSAGES subdir
Christopher Allan Webber [Sun, 18 Jan 2015 21:55:58 +0000 (15:55 -0600)]
Compile .po files to the LC_MESSAGES subdir

This ought to make both python's gettext and pootle happy :P

9 years agoExclude the LC_MESSAGES stuff (and master pulling)
Christopher Allan Webber [Sun, 18 Jan 2015 20:03:11 +0000 (14:03 -0600)]
Exclude the LC_MESSAGES stuff (and master pulling)

9 years agoMoving translation files over for Pootle move.
Christopher Allan Webber [Fri, 16 Jan 2015 22:06:42 +0000 (16:06 -0600)]
Moving translation files over for Pootle move.

9 years agoExclude index dir from sync with Pootle
Boris Bobrov [Sun, 14 Dec 2014 22:25:28 +0000 (01:25 +0300)]
Exclude index dir from sync with Pootle

Pootle creates some dir with index file. It has nothing to do with our
files, so it should be excluded in the rsync call.

9 years agoUpdate the pootle translation updating script to compile the right files
Christopher Allan Webber [Sun, 14 Dec 2014 20:56:15 +0000 (14:56 -0600)]
Update the pootle translation updating script to compile the right files

Made similar changes in the Transifex script, so ported those over.

Also, the script did not seem to be running the compile step as it
wasn't finding the files (different file structure), but it is doing
fine now.

9 years agoAdded facilities for Pootle.
Boris Bobrov [Sun, 7 Dec 2014 17:54:16 +0000 (20:54 +0300)]
Added facilities for Pootle.

Previously we used Transifex as a web-tool for translations. Some time
ago Transifex went proprietary and we decided to move to Pootle.

Old script for updating translations was renamed and a new one was
added. Also a script for making the layout more Pootle-friendly was
added.

To accomplish the transition first run the old script:
./devtools/update_translations_transifex.sh

Then run the layout changing script:
./devtools/move_translations_for_pootle.sh

Commit and push. After that use the new
./devtools/update_translations_pootle.sh
to update the translations.

Closes bug: #913

9 years agoCommitting extracted and compiled translations
Christopher Allan Webber [Fri, 16 Jan 2015 21:15:20 +0000 (15:15 -0600)]
Committing extracted and compiled translations

9 years agoSilenced a Sphinx warning.
Berker Peksag [Fri, 9 Jan 2015 21:25:59 +0000 (23:25 +0200)]
Silenced a Sphinx warning.

docs/source/siteadmin/relnotes.rst:72: WARNING: Title underline too short.

9 years agoAdded an "htmlview" target to open docs after building them.
Berker Peksag [Fri, 9 Jan 2015 21:05:04 +0000 (23:05 +0200)]
Added an "htmlview" target to open docs after building them.

This is helpful if you build and test documentation updates in
your development env.

Copied from CPython's and Django's Doc/Makefile.

9 years agoMinor fixes to API documentation: typos and dates, etc.
Jessica Tallon [Fri, 9 Jan 2015 15:15:29 +0000 (15:15 +0000)]
Minor fixes to API documentation: typos and dates, etc.

9 years agoUpdate and reorganise API documentation
Jessica Tallon [Fri, 9 Jan 2015 14:02:49 +0000 (14:02 +0000)]
Update and reorganise API documentation

9 years agoAdd upper limit to count GET param for inbox and feed
Jessica Tallon [Tue, 6 Jan 2015 12:06:12 +0000 (12:06 +0000)]
Add upper limit to count GET param for inbox and feed

9 years agoClean up documentation and add documentation on activities
Jessica Tallon [Tue, 30 Dec 2014 15:01:20 +0000 (16:01 +0100)]
Clean up documentation and add documentation on activities

9 years agoFix 1e0c938 by allowing target to be translatable in Activity.content
Jessica Tallon [Mon, 22 Dec 2014 11:47:41 +0000 (11:47 +0000)]
Fix 1e0c938 by allowing target to be translatable in Activity.content

9 years agoAllow Activity.content to be fully translatable
Jessica Tallon [Mon, 22 Dec 2014 11:00:44 +0000 (11:00 +0000)]
Allow Activity.content to be fully translatable

9 years agoFix #1066 - Fix OAuth issue when using GET params
Jessica Tallon [Thu, 18 Dec 2014 08:53:05 +0000 (08:53 +0000)]
Fix #1066 - Fix OAuth issue when using GET params

9 years agoFix #1078 - Stop 500 error when GET request on inbox
Jessica Tallon [Tue, 16 Dec 2014 12:15:13 +0000 (12:15 +0000)]
Fix #1078 - Stop 500 error when GET request on inbox

9 years agoFix #1077 - Fix updating comment via API and add test
Jessica Tallon [Tue, 16 Dec 2014 12:05:18 +0000 (12:05 +0000)]
Fix #1077 - Fix updating comment via API and add test

9 years agoFix #1064 - Add major and minor feed for outbox/feed
Jessica Tallon [Mon, 15 Dec 2014 18:04:50 +0000 (18:04 +0000)]
Fix #1064 - Add major and minor feed for outbox/feed

9 years agoFix #1069 - Add deleting images and comments via delete activities
Jessica Tallon [Mon, 15 Dec 2014 11:17:57 +0000 (11:17 +0000)]
Fix #1069 - Add deleting images and comments via delete activities

9 years agoCommitting extracted and compiled translations
Christopher Allan Webber [Sun, 14 Dec 2014 21:02:50 +0000 (15:02 -0600)]
Committing extracted and compiled translations

9 years agoRecommend cloning the stable branch instead of master from now on
Christopher Allan Webber [Sun, 14 Dec 2014 18:56:33 +0000 (12:56 -0600)]
Recommend cloning the stable branch instead of master from now on

This commit sponsored by Karen Rustad.  You're awesome, Karen!

9 years agoCommitting extracted and compiled translations
Christopher Allan Webber [Sat, 13 Dec 2014 16:03:48 +0000 (10:03 -0600)]
Committing extracted and compiled translations

9 years agoFix the output file to the correct one in the new i18n compile loop
Christopher Allan Webber [Sat, 13 Dec 2014 16:03:26 +0000 (10:03 -0600)]
Fix the output file to the correct one in the new i18n compile loop

9 years agoJust spacing things out to look a bit cleaner.
Christopher Allan Webber [Sat, 13 Dec 2014 15:58:36 +0000 (09:58 -0600)]
Just spacing things out to look a bit cleaner.

9 years agoSubmitting workaround to skip compiling Lojban. Sniff :(
Christopher Allan Webber [Sat, 13 Dec 2014 15:50:13 +0000 (09:50 -0600)]
Submitting workaround to skip compiling Lojban.  Sniff :(

We'll eventually support Lojban again.  This issue fixes #1071, but
leaves #1070 open.

9 years agoCommitting present MediaGoblin translations before pushing extracted messages
Christopher Allan Webber [Sat, 6 Dec 2014 20:33:16 +0000 (14:33 -0600)]
Committing present MediaGoblin translations before pushing extracted messages

9 years agoFix #1056 - Add flag to accept URLs without a trailing slash
Jessica Tallon [Fri, 12 Dec 2014 13:55:14 +0000 (13:55 +0000)]
Fix #1056 - Add flag to accept URLs without a trailing slash

9 years agoFix #1055 - API feed should be sorted in order of newest first
Jessica Tallon [Thu, 11 Dec 2014 16:35:10 +0000 (16:35 +0000)]
Fix #1055 - API feed should be sorted in order of newest first

9 years agoFix #1053 - Add height and width attributes and MetadataProcess task
Jessica Tallon [Thu, 11 Dec 2014 11:29:03 +0000 (11:29 +0000)]
Fix #1053 - Add height and width attributes and MetadataProcess task

    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.

9 years agoFix #1026 - Add inbox feed with major, minor and direct endpoints
Jessica Tallon [Tue, 9 Dec 2014 19:04:55 +0000 (19:04 +0000)]
Fix #1026 - Add inbox feed with major, minor and direct endpoints

9 years agoFix #1058 - Verifier page could be clearer
jpope777 [Mon, 8 Dec 2014 17:46:56 +0000 (11:46 -0600)]
Fix #1058 - Verifier page could be clearer

9 years agoFix #1057 - unquote redirection URL on successful OAuth authorization
Jessica Tallon [Mon, 8 Dec 2014 17:00:33 +0000 (17:00 +0000)]
Fix #1057 - unquote redirection URL on successful OAuth authorization

9 years agoFix #1054 - Add missing attributes to Activity.serialize
Jessica Tallon [Mon, 8 Dec 2014 14:46:48 +0000 (14:46 +0000)]
Fix #1054 - Add missing attributes to Activity.serialize

9 years agoFix OAuth length problems in clients by removing that constraint
Jessica Tallon [Mon, 8 Dec 2014 13:44:33 +0000 (13:44 +0000)]
Fix OAuth length problems in clients by removing that constraint

9 years agoPartial fix #1048 - Don't require as long nonce
Jessica Tallon [Fri, 5 Dec 2014 17:22:55 +0000 (17:22 +0000)]
Partial fix #1048 - Don't require as long nonce

9 years agoFix #1049 - name renamed to displayName for Location
Jessica Tallon [Fri, 5 Dec 2014 14:03:52 +0000 (14:03 +0000)]
Fix #1049 - name renamed to displayName for Location

9 years agoThere's absolutely no reason for a Session().commit object mirrored onto Session...
Christopher Allan Webber [Wed, 3 Dec 2014 19:38:18 +0000 (13:38 -0600)]
There's absolutely no reason for a Session().commit object mirrored onto Session() :)

Thanks for catching, Elrond :)

9 years agoUse request.db to do a query to support a global-free view :)
Christopher Allan Webber [Wed, 3 Dec 2014 19:26:13 +0000 (13:26 -0600)]
Use request.db to do a query to support a global-free view :)

9 years agoMake all mixin methods ignore mg_globals and use self._app instead
Christopher Allan Webber [Wed, 3 Dec 2014 19:25:19 +0000 (13:25 -0600)]
Make all mixin methods ignore mg_globals and use self._app instead

This commit sponsored by Daniel Lang.  Thank you!

9 years agoAttach the MediaGoblinApp to the engine, and provide a way for models to access
Christopher Allan Webber [Wed, 3 Dec 2014 19:13:58 +0000 (13:13 -0600)]
Attach the MediaGoblinApp to the engine, and provide a way for models to access

This allows SQLAlchemy models to gain access to app-level configuration
without the need for global variables.

This commit sponsored by Peter Hogg.  Thank you, Peter!

9 years agoUse request.app.auth instead of mg_globals
Christopher Allan Webber [Wed, 3 Dec 2014 17:19:34 +0000 (11:19 -0600)]
Use request.app.auth instead of mg_globals

9 years agoReforming get_jinja_env to make better use of the MediaGoblinApp
Christopher Allan Webber [Wed, 3 Dec 2014 17:17:31 +0000 (11:17 -0600)]
Reforming get_jinja_env to make better use of the MediaGoblinApp

9 years agoStarting to deprecate the app_config, global_config by attaching stuff to app
Christopher Allan Webber [Sun, 30 Nov 2014 22:40:10 +0000 (16:40 -0600)]
Starting to deprecate the app_config, global_config by attaching stuff to app

 - app.global_config, app.app_config
 - making setup_crypto use app.app_config
 - setting app.workbench_manager

9 years agoContext objects now use a contextmanager (and update gmg shell to use it)
Christopher Allan Webber [Sun, 30 Nov 2014 22:14:05 +0000 (16:14 -0600)]
Context objects now use a contextmanager (and update gmg shell to use it)

This means that we have a really convenient way to make sure that you
have a context/request that threads its way through the application,
where everything needed gets "shut down" appropriately by the end.

You always get a context object via a context manager!  And by the time
you're done with it, things should be cleaned up.

9 years agoAdding query property to DatabaseMaster for forward compatibility
Christopher Allan Webber [Sun, 30 Nov 2014 21:17:09 +0000 (15:17 -0600)]
Adding query property to DatabaseMaster for forward compatibility

9 years agoMake "gmg shell" work with the new globals-less setup
Christopher Allan Webber [Sun, 30 Nov 2014 21:09:12 +0000 (15:09 -0600)]
Make "gmg shell" work with the new globals-less setup

9 years agoAttach the base models to sessions and the DatabaseMaster for backwards compatibility
Christopher Allan Webber [Sun, 30 Nov 2014 21:08:40 +0000 (15:08 -0600)]
Attach the base models to sessions and the DatabaseMaster for backwards compatibility

Really we should stop relying on that though.

9 years agoOnly conditionally import Session in db/util.py
Christopher Allan Webber [Sun, 30 Nov 2014 21:08:14 +0000 (15:08 -0600)]
Only conditionally import Session in db/util.py

9 years agoSet up request.db / app.db(_manager) depending on DISABLE_GLOBALS
Christopher Allan Webber [Sun, 30 Nov 2014 20:50:50 +0000 (14:50 -0600)]
Set up request.db / app.db(_manager) depending on DISABLE_GLOBALS

9 years agoMove the scoped_session, sessionmaker imports
Christopher Allan Webber [Sun, 30 Nov 2014 20:04:20 +0000 (14:04 -0600)]
Move the scoped_session, sessionmaker imports

9 years agoSome docstrings
Christopher Allan Webber [Sun, 30 Nov 2014 20:04:09 +0000 (14:04 -0600)]
Some docstrings

9 years agoReturn DatabaseManager or DatabaseMaster depending on DISABLE_GLOBALS
Christopher Allan Webber [Sun, 30 Nov 2014 19:53:21 +0000 (13:53 -0600)]
Return DatabaseManager or DatabaseMaster depending on DISABLE_GLOBALS

They're both similar!  One sets up sessions, one grabs sessions from a global object.

9 years agoOops, got the boolean backwards :P
Christopher Allan Webber [Sun, 30 Nov 2014 19:49:01 +0000 (13:49 -0600)]
Oops, got the boolean backwards :P

9 years agoAdding DatabaseManager as an alternative to DatabaseMaster
Christopher Allan Webber [Sun, 30 Nov 2014 19:29:59 +0000 (13:29 -0600)]
Adding DatabaseManager as an alternative to DatabaseMaster

This is another step to get to a no-globals configuration.  I'm not
sure if this code works yet or not... :)

9 years agoAn environment variable to transition towards removing global variables
Christopher Allan Webber [Sun, 30 Nov 2014 18:49:26 +0000 (12:49 -0600)]
An environment variable to transition towards removing global variables

9 years agoGive our sqlalchemy objects access to their own session
Christopher Allan Webber [Sun, 30 Nov 2014 16:58:11 +0000 (10:58 -0600)]
Give our sqlalchemy objects access to their own session

9 years agoAdd context generator: first step towards removing globals from the application
Christopher Allan Webber [Sat, 29 Nov 2014 19:56:41 +0000 (13:56 -0600)]
Add context generator: first step towards removing globals from the application

This allows you to generate a "context" object that gets threaded
throughout the application... this object should keep track of the same
things that currently we use global variables for.

9 years agoFix #1046 - Media breaking out of container
jpope777 [Tue, 2 Dec 2014 22:54:24 +0000 (16:54 -0600)]
Fix #1046 - Media breaking out of container

9 years agoFix #1024 - Correctly set generator on Activities
Jessica Tallon [Tue, 2 Dec 2014 14:50:35 +0000 (14:50 +0000)]
Fix #1024 - Correctly set generator on Activities

9 years agoChange the suggested data_basedir, and fix a typo
Christopher Allan Webber [Mon, 1 Dec 2014 18:44:07 +0000 (12:44 -0600)]
Change the suggested data_basedir, and fix a typo

This commit sponsored by Raimund Sacherer.  Thank you!

9 years agoMerge branch 'master' of gitorious.org:mediagoblin/mediagoblin
jpope777 [Mon, 1 Dec 2014 16:56:55 +0000 (10:56 -0600)]
Merge branch 'master' of gitorious.org:mediagoblin/mediagoblin

9 years agofix #1000 - Button style in Report file dialogue
jpope777 [Mon, 1 Dec 2014 16:56:18 +0000 (10:56 -0600)]
fix #1000 - Button style in Report file dialogue

9 years agoFix #658 and #974 - Rollback database on_return of task
Jessica Tallon [Mon, 1 Dec 2014 13:39:35 +0000 (13:39 +0000)]
Fix #658 and #974 - Rollback database on_return of task

9 years agoFix #1040 - Comments should have published attribute
Jessica Tallon [Thu, 27 Nov 2014 10:12:53 +0000 (10:12 +0000)]
Fix #1040 - Comments should have published attribute

9 years agoThis import_export stuff is mongodb days leftovers. Removing!
Christopher Allan Webber [Wed, 26 Nov 2014 22:44:28 +0000 (16:44 -0600)]
This import_export stuff is mongodb days leftovers.  Removing!

This commit sponsored by Ray Redd.  Thanks!

9 years agoFix unicode handling in "gmg addmedia".
Berker Peksag [Mon, 17 Nov 2014 05:11:44 +0000 (07:11 +0200)]
Fix unicode handling in "gmg addmedia".

9 years agoFix #1025 - Make API IDs IRIs
Jessica Tallon [Fri, 21 Nov 2014 13:18:25 +0000 (13:18 +0000)]
Fix #1025 - Make API IDs IRIs

9 years agoPatch by Sturm: explain permissions on media directories in deployment docs
Christopher Allan Webber [Thu, 20 Nov 2014 17:36:29 +0000 (11:36 -0600)]
Patch by Sturm: explain permissions on media directories in deployment docs

This should hopefully reduce the amount that users are confused by their
media files not being available.

9 years agoFix #1039 - Fix typo in user model 'oublished' to 'published'
Jessica Tallon [Thu, 20 Nov 2014 10:14:43 +0000 (10:14 +0000)]
Fix #1039 - Fix typo in user model 'oublished' to 'published'

9 years agoFix #1021 - Skip broken activities which caused feed/inbox to 500
Jessica Tallon [Thu, 20 Nov 2014 09:46:37 +0000 (09:46 +0000)]
Fix #1021 - Skip broken activities which caused feed/inbox to 500

9 years agoFix #1023 - Make timestamps in API timezone aware
Jessica Tallon [Wed, 19 Nov 2014 10:49:42 +0000 (10:49 +0000)]
Fix #1023 - Make timestamps in API timezone aware

9 years agoFix User and MediaEntry serialize and add serialize to models which need it
Jessica Tallon [Tue, 4 Nov 2014 10:39:01 +0000 (10:39 +0000)]
Fix User and MediaEntry serialize and add serialize to models which need it

9 years agoFix #1016 - Covert the timestamp from seconds to datetime object
Jessica Tallon [Tue, 4 Nov 2014 09:54:04 +0000 (09:54 +0000)]
Fix #1016 - Covert the timestamp from seconds to datetime object

9 years agoFix airy to properly work with the "forced to the bottom of the page" footer
Christopher Allan Webber [Thu, 30 Oct 2014 19:27:26 +0000 (14:27 -0500)]
Fix airy to properly work with the "forced to the bottom of the page" footer

9 years agoRemove ^P character
Christopher Allan Webber [Thu, 30 Oct 2014 19:17:40 +0000 (14:17 -0500)]
Remove ^P character

9 years agoClarifying the json processing callbacks even further
Christopher Allan Webber [Thu, 30 Oct 2014 18:56:55 +0000 (13:56 -0500)]
Clarifying the json processing callbacks even further

9 years agoFix misleading log message reported in #985.
Rodrigo Rodrigues da Silva [Fri, 17 Oct 2014 13:01:55 +0000 (10:01 -0300)]
Fix misleading log message reported in #985.

9 years agoAdd a template hook to stl sideinfo. Fixes #940.
Rodrigo Rodrigues da Silva [Thu, 7 Aug 2014 17:57:35 +0000 (14:57 -0300)]
Add a template hook to stl sideinfo. Fixes #940.

9 years agoUpdates per request of moggers87
ayleph [Wed, 22 Oct 2014 14:27:56 +0000 (07:27 -0700)]
Updates per request of moggers87

9 years agoUnit tests
ayleph [Thu, 18 Sep 2014 05:30:15 +0000 (22:30 -0700)]
Unit tests

Added unit tests for lowercasify username on login.

9 years agoPass validated username to check_login_simple
ayleph [Sun, 3 Aug 2014 22:55:16 +0000 (15:55 -0700)]
Pass validated username to check_login_simple

The login function in mediagoblin/auth/views.py grabs the username prior to
form validation. If validation passes, the pre-validated username is passed to
the check_login_simple function.

Lowercasifying of the username occurs as part of form validation. By sending
the pre-validated username, there's a chance of sending a username with
uppercase letters. This will fail to match any user ids in the database, as
all of the usernames are lowercased during the registration process.

This change sends the post-validated username to check_login_simple, so that
any username that was entered by the user with uppercase letters has a chance
to be properly lowercased before being passed.

9 years agoTemplate hook to allow plugin authors to add extra things to the header
Christopher Allan Webber [Thu, 30 Oct 2014 16:14:59 +0000 (11:14 -0500)]
Template hook to allow plugin authors to add extra things to the header

Thanks to Andrew Browning for requesting this and suggesting where to
put it!

9 years agoFix #1017 - Exception caused by activity being set on incorrect foreign key
Jessica Tallon [Wed, 29 Oct 2014 08:47:09 +0000 (08:47 +0000)]
Fix #1017 - Exception caused by activity being set on incorrect foreign key

The .activity ForeignKey on several models such as MediaEntry expects
a ActivityIntmediatory ID not an Activity ID however in submit code the
activity attribute was being set the Activity, simply removing this
assignment should fix the issue as everything is set correctly at this point.

I have also moved the creation of the activity above the processing of media
to avoid race conditions.

9 years agoFix #1007 - get location object not string of location name; caused 500 when editing...
Jessica Tallon [Mon, 27 Oct 2014 11:11:43 +0000 (11:11 +0000)]
Fix #1007 - get location object not string of location name; caused 500 when editing profile

9 years agoFix #1010 - Typos in mediagoblin/media_types/image/migrations.py
Jessica Tallon [Mon, 27 Oct 2014 09:45:23 +0000 (09:45 +0000)]
Fix #1010 - Typos in mediagoblin/media_types/image/migrations.py

9 years agoFix #1005 - location.position is a dictionary so 'value' in dict check needed
Jessica Tallon [Mon, 27 Oct 2014 09:28:56 +0000 (09:28 +0000)]
Fix #1005 - location.position is a dictionary so 'value' in dict check needed

9 years agoOnly create a slug after a media upload via the API when there is a title
Jessica Tallon [Wed, 22 Oct 2014 20:42:57 +0000 (21:42 +0100)]
Only create a slug after a media upload via the API when there is a title

9 years agoFix problem where duplicate slug would cause an update exception
Jessica Tallon [Wed, 22 Oct 2014 17:59:04 +0000 (18:59 +0100)]
Fix problem where duplicate slug would cause an update exception

9 years agoMerge branch '984-ai-improvements'
Jessica Tallon [Tue, 21 Oct 2014 10:57:15 +0000 (11:57 +0100)]
Merge branch '984-ai-improvements'

9 years agoFix #984 - Improvements to Activity and ActivityIntermediator
Jessica Tallon [Tue, 21 Oct 2014 10:44:11 +0000 (11:44 +0100)]
Fix #984 - Improvements to Activity and ActivityIntermediator

- 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

9 years agoairy.css: Override white text in TOS
Meg Ford [Wed, 19 Mar 2014 18:46:25 +0000 (13:46 -0500)]
airy.css: Override white text in TOS

Fixes bug https://issues.mediagoblin.org/ticket/808

9 years agoSomehow Shawn and Sergio got in there twice
Christopher Allan Webber [Wed, 15 Oct 2014 14:32:58 +0000 (09:32 -0500)]
Somehow Shawn and Sergio got in there twice