Christopher Allan Webber [Sat, 9 Mar 2013 18:18:36 +0000 (12:18 -0600)]
tyop fix in docs, lazyserer.sh->lazyserver.sh
This commit sponsored by S J Bennett. Thanks!
Elrond [Sat, 9 Mar 2013 13:51:01 +0000 (14:51 +0100)]
Change the _original_ design decisions.
- Rename the chapter to "Original *".
- Fix links.
Elrond [Sat, 9 Mar 2013 13:02:01 +0000 (14:02 +0100)]
Revive old "Design Decisions".
This brings back the exact version that was removed in
65e7ce634cfecc87ed6f390f9ccf91be513d2eea.
Christopher Allan Webber [Fri, 8 Mar 2013 20:38:55 +0000 (14:38 -0600)]
Providing warning to users about instability of OAuth/API
Christopher Allan Webber [Wed, 6 Mar 2013 18:05:40 +0000 (12:05 -0600)]
Making a fix so that video codec name switched from "vp8 video" to "vp8"
"vp8 video" is what vp8 is marked as in gstreamer's metadata.
However, the browser expects it just as the name "vp8". So fixing
that.
This commit sponsored by Tyng-Ruey Chuang. Thank you!
Christopher Allan Webber [Tue, 5 Mar 2013 00:05:54 +0000 (18:05 -0600)]
Committing extracted and compiled translations
Christopher Allan Webber [Mon, 4 Mar 2013 21:47:05 +0000 (15:47 -0600)]
Merge branch 'master' into 419_cherrypick_large_uploads
Christopher Allan Webber [Mon, 4 Mar 2013 17:53:04 +0000 (11:53 -0600)]
Removing an unnecessary video write
In the case of if we're skipping transcoding, we don't need to copy
this file at all!
This commit sponsored by Frank Zambrini III. Thanks!
Christopher Allan Webber [Mon, 4 Mar 2013 17:45:27 +0000 (11:45 -0600)]
Merge branch 'joar-skip_transcoding'
Christopher Allan Webber [Mon, 4 Mar 2013 17:45:14 +0000 (11:45 -0600)]
Elrond points out that we should use form.collection.data
That's true; I'm not sure what it's fixing, but he thinks it's fixing
something. Anyway, it's correct :)
This commit sponsored by Philippe Gauthier. Thanks!
Christopher Allan Webber [Mon, 4 Mar 2013 16:57:21 +0000 (10:57 -0600)]
Give a more useful error if a table already exists and so we can't create it during migrations
This commit sponsored by Andrzej Prochyra. Thanks!
Christopher Allan Webber [Mon, 4 Mar 2013 16:12:48 +0000 (10:12 -0600)]
Three fixes to collection adding view, one of them a serious security bug
- Don't let people who aren't the authors of a collection from adding
things to it (handled by forcing the user check in the query)
- request url in case invalid collection selected fixed
- collection_item.author doesn't yet exist; removing the selection
(we might want multiple people to be able to edit a collection in
the future but that future does not yet exist; as Elrond said,
remove this "false hope")
Thanks to Elrond to pointing out these issues.
And thanks to David Kindler for sponsoring this commit!
Christopher Allan Webber [Sun, 3 Mar 2013 22:28:16 +0000 (16:28 -0600)]
self.media_data->self.media_manager in the docstring. Thanks for catching, Elrond.
This commit sponsored by Sebastian Hugentobler. Thank you!
Christopher Allan Webber [Sun, 3 Mar 2013 21:40:49 +0000 (15:40 -0600)]
No reason really to pass in fetch_order anyway...
I think this is legacy code from get_display_media being a utility, or
something. Removed! (Thanks for pointing this out, Elrond!)
This commit sponsored by Tristan Chambers. Thank you!
Sebastian Spaeth [Wed, 19 Dec 2012 10:06:51 +0000 (11:06 +0100)]
Make copying to/from storage systems memory efficient (#419)
The copy_locally and copy_local_to_storage (very inconsistent terms BTW)
were simply slurping in everything in RAM and writing it out at once.
(the copy_locally was actually memory efficient if the remote system was local)
Use shutil.copyfileobj which does chunked reads/writes on file objects.
The default buffer size is 16kb, and as each chunk means a separate HTTP
request for e.g. cloudfiles, we use a chunksize of 4MB here (which has
just been arbitrarily set by me without tests).
This should help with the failure to upload large files issue #419.
Christopher Allan Webber [Sun, 3 Mar 2013 20:29:30 +0000 (14:29 -0600)]
Another elrond suggestion: only init orig_metadata if there's anything in the dict.
This commit sponsored by Joshua Rosen. Thank you!
Christopher Allan Webber [Sun, 3 Mar 2013 20:27:36 +0000 (14:27 -0600)]
Per Elrond's suggestions moving DEFAULT_WEBM_TYPE to media manager
The reason for this is to avoid defining this twice as we were
previously (once in the template, once in video/models.py)
This commit sponsored by Roland McIntosh. Thank you!
Christopher Allan Webber [Sun, 3 Mar 2013 17:41:40 +0000 (11:41 -0600)]
Extrapolate type= based on the video metadata that we have, if we can.
It's kind of awkward because it relies on there being a entry.media_data,
but that's not guaranteed... (see http://issues.mediagoblin.org/ticket/650)
so we use a dopey fallback in the template in that case (kind of
annoying info duplication).
This commit sponsored by Piotr Wieczorek. Thank you!
Christopher Allan Webber [Sun, 3 Mar 2013 17:08:14 +0000 (11:08 -0600)]
Mild cosmetic cleanups to video.html and adding missing </li> elements.
This commit sponsored by Jukka Hellen. Thanks!
Christopher Allan Webber [Sun, 3 Mar 2013 17:03:30 +0000 (11:03 -0600)]
{% set %} the display_type and display_path and use that elsewhere
This will make some stuff a bit cleaner that's coming up...
This commit sponsored by J B Nicholson-Owens. Thanks!
Christopher Allan Webber [Sun, 3 Mar 2013 16:38:06 +0000 (10:38 -0600)]
pdb.set_trace() in mediagoblin code is Not Allowed(TM), removing from audio code
Of course, the version that appears here is not really dangerous
because it's for the "call the file individually" form of debugging,
but it isn't allowed anyway.
This commit sponsored by Michael Faryniarz. Thanks!
Christopher Allan Webber [Sun, 3 Mar 2013 16:36:37 +0000 (10:36 -0600)]
Now store metadata info from processing into the media type.
This comes in several parts:
- Store the metadata from gstreamer during processing
- Add a new JSONEncoded field to the VideoData table
- And, of course, add a migration for that field!
This commit sponsored by Julius Tuomisto. Thank you, Julius!
Joar Wandborg [Sun, 3 Mar 2013 07:48:12 +0000 (08:48 +0100)]
Removed debugging exception
.. that accidentally got included due to not testing the video media
type in the unit tests.
Joar Wandborg [Sun, 3 Mar 2013 01:32:03 +0000 (02:32 +0100)]
Updated raven plugin
- Added wrap_wsgi, celery_setup, celery_logging_setup hooks
- Updated raven plugin docs
- Updated production considerations docs
- Added raven logging setup
Christopher Allan Webber [Sun, 3 Mar 2013 01:06:31 +0000 (19:06 -0600)]
Huge amount of work to (mostly) allow .ogg (and maybe other) formats to skip transcode
- Update get_display_media in several ways:
- now uses the media type's own declaration of the order of things
- returns both the media_size and the media_path, as per the docstring
- implicitly uses self.media_files as opposed to forcing you to pass it in
- update videos to use get_display_media
- update images to declare media_fetch_order in the media manager (videos also)
- update stl to use media.media_files['original'] instead of weird
use of get_display_media
- update sidebar to only conditionally show webm_640
TODO still: identify video type information *during* processing, show
that in the <video><source /></video> element.
This commit sponsored by Nathan Yergler. Thanks, nyergler!
Joar Wandborg [Sat, 23 Feb 2013 23:23:05 +0000 (00:23 +0100)]
plugin/raven: Fix paster's celery config issue
Check for CELERY_CONFIG_MODULE before we import raven.contrib.celery. It
seems that the import otherwise sets up the celery client before we get
to pass it our mediagoblin-specific settings.
Joar Wandborg [Fri, 22 Feb 2013 23:06:52 +0000 (00:06 +0100)]
Added raven plugin docs to docs
Joar Wandborg [Fri, 22 Feb 2013 23:02:39 +0000 (00:02 +0100)]
Removed stray )
Joar Wandborg [Fri, 22 Feb 2013 22:47:55 +0000 (23:47 +0100)]
Removed PLUGIN_DIR from raven
Joar Wandborg [Fri, 22 Feb 2013 22:46:36 +0000 (23:46 +0100)]
Don't look for the oauth config in raven plugin
Joar Wandborg [Fri, 22 Feb 2013 22:44:17 +0000 (23:44 +0100)]
Refactored raven plugin
Joar Wandborg [Fri, 22 Feb 2013 22:42:29 +0000 (23:42 +0100)]
Added raven plugin
Joar Wandborg [Sat, 2 Mar 2013 23:11:34 +0000 (00:11 +0100)]
Added .send method to cloudfiles storage object
.. wrapper. Also added some logging - A .warn() for the legacy .write()
method and a .debug() for the new copy_local_to_storage()
Sebastian Spaeth [Wed, 19 Dec 2012 14:59:44 +0000 (15:59 +0100)]
Make Cloudfiles copy memory efficient too (#419)
It seems that (our implementation of) cloudfiles.write() takes
all existing data and appends write(data) to it, sending the
full monty over the wire everytime. This would of course
absolutely kill chunked writes with some O(1^n) performance
and bandwidth usage. So, override this method and use the
Cloudfile's "send" interface instead.
Also make the Cloudfile file wrapper an iterator that allows us to
simply do "for data in cloudfile:" which will stream the data in a
memory-efficient way.
DO NOTE THAT THIS PATCH IS COMPLETELY UNTESTED DUE TO LACK OF SETUP
PLEASE REVIEW AND VERIFY.
Joar Wandborg [Sat, 2 Mar 2013 22:40:24 +0000 (23:40 +0100)]
Fixed hidden fields in oauth client authorization
Removed the translation marking and passed in empty strings to avoid
WTForms automagically creating the labels from the field names (i.e.
client_id => 'Client Id').
Joar Wandborg [Sat, 2 Mar 2013 22:17:50 +0000 (23:17 +0100)]
Do not encode the next kwarg twice
Elrond [Sat, 2 Mar 2013 15:02:51 +0000 (16:02 +0100)]
Turn "License preference" into a normal field.
instead of rendering it by hand, use the normal field
rendering tools.
Old:
[choose box] License preference
New:
License preference
[choose box]
This will be your default license on upload forms.
Christopher Allan Webber [Fri, 1 Mar 2013 23:28:07 +0000 (17:28 -0600)]
If we're not transcoding, copy this file directly over to ['original']
There's no reason to copy it over to 'webm_640' in such a case,
clearly.
Added logic so we don't do it twice either.
Haven't tested this yet though ;)
This commit sponsored by Algot Runeman. Thank you!
Christopher Allan Webber [Fri, 1 Mar 2013 22:29:22 +0000 (16:29 -0600)]
Merge branch 'master' into joar-skip_transcoding
Conflicts:
mediagoblin/config_spec.ini
Elrond [Fri, 1 Mar 2013 13:45:20 +0000 (14:45 +0100)]
Fix some media page redirects in media_collect.
Use .slug_or_id instead of only .id.
Elrond [Sun, 24 Feb 2013 17:30:26 +0000 (18:30 +0100)]
Fixup _("...") % (...) in media_collect.
Get some messages translated.
Bad: _("..." % (...))
Good: _("...") % (...)
Christopher Allan Webber [Wed, 27 Feb 2013 20:08:38 +0000 (14:08 -0600)]
MediaGoblin not really anything to do with FooCorp anymore.
Christopher Allan Webber [Wed, 27 Feb 2013 19:25:42 +0000 (13:25 -0600)]
Fixing translations stuff for command line tools and such.
We had switched mg_globals to have the default translations set to
None so that it would be set up by the mediagoblin app later.
However, this would mean that things like scripts would try to call
gettext and error out.
Thanks to Tumulte for catching this.
This commit sponsored by Aurimas Fišeras. Thank you!
Christopher Allan Webber [Wed, 27 Feb 2013 15:56:56 +0000 (09:56 -0600)]
Simplifying the test for whether or not a user and slug combo exists.
Thanks to tchernobog for catching this (it was breaking on postgres)
and Elrond for the suggestion on how to fix it.
This commit sponsored by Caleb Cooper. Thanks Caleb!
Christopher Allan Webber [Tue, 26 Feb 2013 23:49:53 +0000 (17:49 -0600)]
Removing html5shiv for not complying with its own licenses and racism
Issues of racism seem to have been resolved and removed from upstream,
but make having this as a dependency somewhat uncomfortable:
https://github.com/aFarkas/html5shiv/issues/91
Regardless, at the time of writing the project doesn't comply with its
own license... it states to be dual licensed under MIT and GPLv2 but
distributes neither of these licenses with its source.
Joar Wandborg [Tue, 26 Feb 2013 22:57:20 +0000 (23:57 +0100)]
Allow media managers without sniff_handler
Christopher Allan Webber [Tue, 26 Feb 2013 23:17:27 +0000 (17:17 -0600)]
Copying the license from the jquery repository rather than the generic MIT one.
Damned MIT and BSD licenses encouraging modification by every project
makes compliance annoying.
Christopher Allan Webber [Tue, 26 Feb 2013 20:04:26 +0000 (14:04 -0600)]
Simplifying the "id:" url detection, per Elrond's suggestion.
As pointed out, we didn't need that nested if.
This commit sponsored by Paul Kuriakose. Thank you!
Christopher Allan Webber [Tue, 26 Feb 2013 19:54:19 +0000 (13:54 -0600)]
Replacing several request.matchdict['media'] -> media_slug ... shorter!
Thanks for pointing this out, Elrond ;)
This commit sponsored by Gerardo Joven Valdivia. Thank you!
Christopher Allan Webber [Tue, 26 Feb 2013 19:38:11 +0000 (13:38 -0600)]
Media URLs with ids in them are now like /u/cwebber/m/id:4112/ rather than /u/cwebber/m/4112/
This avoids some potential name collision issues.
This commit sponsored by Asokan Pichai. Thank you!
Christopher Allan Webber [Tue, 26 Feb 2013 19:08:23 +0000 (13:08 -0600)]
Stylistic cleanups to some urlgen calls.
This commit sponsored by Stephane Berube. Thank you!
Christopher Allan Webber [Tue, 26 Feb 2013 16:33:51 +0000 (10:33 -0600)]
Small PEP-8 compliance fix.
This commit sponsored by Mats Sjöberg. Thanks!
Christopher Allan Webber [Tue, 26 Feb 2013 16:15:26 +0000 (10:15 -0600)]
Import sqlalchemy's and_ and use it in our select statement
This commit sponsored by Hans-Jörg Dollansky. Thank you!
Christopher Allan Webber [Tue, 26 Feb 2013 15:58:25 +0000 (09:58 -0600)]
And of course, we need to actually commit at the end of a migration.
This commit sponsored by Tamas Kemenczy. Thanks, Tamas!
Christopher Allan Webber [Mon, 25 Feb 2013 22:35:05 +0000 (16:35 -0600)]
Dope'ily missed .count() on the query where we're counting
Thanks for catching, Elrond.
This commit sponsored by Graham King. Thank you!
Christopher Allan Webber [Mon, 25 Feb 2013 22:16:21 +0000 (16:16 -0600)]
Supplying migrations for a bold new era of mediagoblin entry slugs
Okay, that's a totally confusing statement, but the docstring of this
migration summarizes it well:
Entries without slugs now display differently in the url like:
/u/cwebber/m/id=251/
... because of this, we should back-convert:
- entries without slugs should be converted to use the id, if possible, to
make old urls still work
- slugs with = (or also : which is now also not allowed) to have those
stripped out (small possibility of breakage here sadly)
This commit sponsored by John Sullivan. Thanks johnsu01! :)
Christopher Allan Webber [Mon, 25 Feb 2013 18:15:12 +0000 (12:15 -0600)]
You can now set the PASTE_CONFIG environment variable to control logging setup
So this should work:
PASTE_CONFIG=/path/to/paste_foo.ini ./lazycelery.sh
Thanks to Laurent Fournier for sponsoring this commit!
Christopher Allan Webber [Sun, 24 Feb 2013 22:37:39 +0000 (16:37 -0600)]
Removing stray character from pythonsnake's doc change and filling comment
This commit sponsored by Johannes Knabbe. Thank you!
pythonsnake [Sun, 10 Feb 2013 13:07:09 +0000 (14:07 +0100)]
Fix bug 461
Jef van Schendel [Sun, 24 Feb 2013 20:09:16 +0000 (21:09 +0100)]
Improved dropdown styling, part deux
Jef van Schendel [Sun, 24 Feb 2013 19:54:10 +0000 (20:54 +0100)]
Merge branch 'master' of gitorious.org:mediagoblin/mediagoblin
Jef van Schendel [Sun, 24 Feb 2013 19:53:34 +0000 (20:53 +0100)]
Improved dropdown styling
Christopher Allan Webber [Sun, 24 Feb 2013 19:53:15 +0000 (13:53 -0600)]
Changing the order so that config_spec.ini is mentioned after mediagoblin_local.ini
This commit sponsored by Matteo Settenvini. Thanks!
Christopher Allan Webber [Sun, 24 Feb 2013 19:52:13 +0000 (13:52 -0600)]
Merge remote-tracking branch 'refs/remotes/pythonsnake/581_config'
Christopher Allan Webber [Sun, 24 Feb 2013 19:06:53 +0000 (13:06 -0600)]
Merge remote-tracking branch 'refs/remotes/pythonsnake/629_autoplay'
Christopher Allan Webber [Sun, 24 Feb 2013 18:42:17 +0000 (12:42 -0600)]
Renaming "extrahead" template hooks to "head".
As Elrond points out, the "extra" is implied by it being a hook!
This commit sponsored by Andrew Fustini. Thanks, Drew!
Christopher Allan Webber [Sun, 24 Feb 2013 18:33:39 +0000 (12:33 -0600)]
extra_head template hook. This will allow plugins to add extra js/css more easily.
This commit sponsored by Moritz Berberich. Thank you!
Elrond [Sun, 24 Feb 2013 15:09:45 +0000 (16:09 +0100)]
Add owner to list of collections.
When listing the collections, that a media is contained in,
also show the owner of the collection.
Also simplify the whole looping a lot.
Elrond [Sun, 24 Feb 2013 15:08:55 +0000 (16:08 +0100)]
Use media.id for collecting media too.
Also remove some useless whitespace while at it.
Elrond [Sun, 24 Feb 2013 10:30:17 +0000 (11:30 +0100)]
Use the media id for attachmemt editing.
And remove some stray white space from the output.
Christopher Allan Webber [Sat, 23 Feb 2013 16:47:51 +0000 (10:47 -0600)]
Committing extracted and compiled translations
Christopher Allan Webber [Sat, 23 Feb 2013 16:46:56 +0000 (10:46 -0600)]
Committing present MediaGoblin translations before pushing extracted messages
Joar Wandborg [Fri, 22 Feb 2013 21:36:00 +0000 (22:36 +0100)]
Fix stray comma in listings.views.atom_feed
Joar Wandborg [Fri, 22 Feb 2013 21:20:06 +0000 (22:20 +0100)]
Added some empty templates
- Make it possible for site owners to hook into base.html without
tainting the repository.
András Veres-Szentkirályi [Thu, 21 Feb 2013 10:32:01 +0000 (11:32 +0100)]
simplified get_useful
András Veres-Szentkirályi [Thu, 21 Feb 2013 10:31:25 +0000 (11:31 +0100)]
use dict.iteritems() instead of dict.items()
András Veres-Szentkirályi [Thu, 21 Feb 2013 10:31:08 +0000 (11:31 +0100)]
use list expression instead of 3-deep for
András Veres-Szentkirályi [Thu, 21 Feb 2013 10:30:23 +0000 (11:30 +0100)]
simplified clean_exif
András Veres-Szentkirályi [Thu, 21 Feb 2013 10:29:24 +0000 (11:29 +0100)]
close file properly and remove unneeded variable
András Veres-Szentkirályi [Thu, 21 Feb 2013 10:28:55 +0000 (11:28 +0100)]
typofix in comment
András Veres-Szentkirályi [Thu, 21 Feb 2013 10:15:14 +0000 (11:15 +0100)]
use key in dict instead of key in dict.keys()
András Veres-Szentkirályi [Thu, 21 Feb 2013 09:58:30 +0000 (10:58 +0100)]
removed unused import cgi.FieldStorage
András Veres-Szentkirályi [Thu, 21 Feb 2013 09:51:13 +0000 (10:51 +0100)]
removed unused import re
András Veres-Szentkirályi [Thu, 21 Feb 2013 09:48:52 +0000 (10:48 +0100)]
removed unnecessary collection lookup
András Veres-Szentkirályi [Thu, 21 Feb 2013 09:48:18 +0000 (10:48 +0100)]
removed unused import NotFound
Christopher Allan Webber [Fri, 22 Feb 2013 21:04:06 +0000 (15:04 -0600)]
Changing name for atom feed view to be more generic than tags.
This commit sponsored by Ben Hutchings. Thanks, Ben!
Sebastian Spaeth [Tue, 13 Nov 2012 10:35:28 +0000 (11:35 +0100)]
Integrate all atom feed in template
Embed the atom feed link in the root template (most recent media
page) for easier discovery. Delete the (listings/all.html) template
as contributed in commit
195e79098b5 as it was unused and the feed
is essentially showing the most recent media anyway.
Sebastian Spaeth [Tue, 27 Mar 2012 20:58:58 +0000 (15:58 -0500)]
Adding an Atom RSS feed for all media on the server
Go to /atom/ in your browser to see it.
Elrond [Fri, 22 Feb 2013 13:19:19 +0000 (14:19 +0100)]
Create wtforms_util.render_label(_p) and use it around.
- This makes many places more readable.
- Gives us translation in two places.
- Allows easier changing of labels in a central place.
Elrond [Mon, 4 Feb 2013 20:25:01 +0000 (21:25 +0100)]
Use wtforms_util.render_field_div more in media_collect.html
If we have to render fields individually, we still can use
wtforms_util.render_field_div for each field. Makes things
much smaller and readable.
Christopher Allan Webber [Thu, 21 Feb 2013 23:58:27 +0000 (17:58 -0600)]
Merge remote-tracking branch 'aleksej/632_config_spec_comment_typo'
Christopher Allan Webber [Thu, 21 Feb 2013 22:29:16 +0000 (16:29 -0600)]
Remove "translation legos" and linkify the tag to more generic tag listing
By "translation legos" I mean having multiple strings to be translated
appended together. This isn't a good idea because you can't assume
that syntax will work together in the same way in another language, so
you may be making things hard or impossible for translators.
Between this and the last commit, this means that tags now link to
user tagged media specifically, and if people want a more general tag
listing, they can click on the tag link to get to a more general
listing. I feel this is a good and intuitive route to handling this.
This sponsored commit brought to you by Debarshi Ray! Thank you!
Christopher Allan Webber [Thu, 21 Feb 2013 22:19:43 +0000 (16:19 -0600)]
Making the tags on media pages point to the user's tag listing specifically.
This commit sponsored by Torsten Meissner. Thanks, Torsten!
Christopher Allan Webber [Thu, 21 Feb 2013 22:13:56 +0000 (16:13 -0600)]
Fixing user gallery tags filter to be on slug rather than name.
This commit sponsored by Kat Walsh. Thanks, Kat!
Christopher Allan Webber [Thu, 21 Feb 2013 21:55:26 +0000 (15:55 -0600)]
Merge remote-tracking branch 'refs/remotes/spaetz/WIP/user_tag_gallery'
Runar Petursson [Fri, 15 Feb 2013 02:17:24 +0000 (10:17 +0800)]
plugins/api: fix for cross origin requests
The response headers were never getting set because of a bug in the
7c552c0
commit. This expands the loop into a more readable form and results in the
headers getting set.
Elrond [Tue, 19 Feb 2013 16:14:13 +0000 (17:14 +0100)]
Fix some small bits in base.html.
1. Add a trailing slash to the mediagoblin.org URL.
(The string changed anyway, so translations are not
affected more than already.)
2. Order was wrong for those two at the end (old version):
{% endblock mediagoblin_body %}
</div>
3. Fix some little indenting issues.
4. Remove some useless space from the output.
Elrond [Tue, 19 Feb 2013 12:34:13 +0000 (13:34 +0100)]
Merge remote-tracking branch 'pythonsnake/537_version'
* pythonsnake/537_version:
Added "version" before the version
Fix bug 537
Elrond [Mon, 18 Feb 2013 13:46:28 +0000 (14:46 +0100)]
Fix deleting media with attachments.
If one deletes a media with attachments, there have been
various problems:
1) If the file in the storage did not exist any more (maybe
because due to a previous deletion attempt?), the error
propagation failed, because the wrong thing was
gathered.
2) The attachment database entries were not deleted.
Using cascade for this, for now.
Also add a simple unit test, that tests both by having a
broken attachment on a media.
Joar Wandborg [Mon, 18 Feb 2013 13:41:34 +0000 (14:41 +0100)]
Fix errors in collection views
When a collection does not exist, render the 404 page.