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.
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.
- 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
- Actually use $(PYTHON) in virtualenv creation
- Make paste.ini if need be
- distclean is more forgiving if files aren't there
- clean up virtualenvs also
This way we no longer have people confusedly editing mediagoblin.ini
when they meant to edit mediagoblin.example.ini. Hopefully it should be
a lot simpler.
Tries to simplify a lot of the configure code. This is mostly because I
found what I expected the previous configure setup to do wasn't quite
what it was doing.
Also supports a --with-python3 option.
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.