Mercurial > agora
view apps/profile/models.py @ 130:5ab229c9d348
Add back ability to edit account settings
* Account/profile editing is now done with a ModelForm, instead of processing
the data manually. Help text and verbose names have been moved to the
Profile model and to the UserForm (in the latter case, it's because we
can't edit the User model directly).
* The profile page now shows pygments style information and sections of the
profile that are not filled are now hidden.
* Some parts of apps/profiles/views.py have been rewritten (the getprofile()
method has been removed, as it's no longer necessary, and the editprofile()
view was rewritten in accordance with the switch to using ModelForms).
* The styling for forms has been modified slightly.
author | dellsystem <ilostwaldo@gmail.com> |
---|---|
date | Sat, 22 Sep 2012 11:18:23 -0400 |
parents | f872c643b056 |
children | c7be7def8b57 |
line wrap: on
line source
from django.db import models from django.contrib.auth.models import User from django.utils.translation import ugettext as _ from agora.apps.free_license.models import FreeLicense from agora.apps.pygments_style.models import PygmentsStyle class Profile(models.Model): user = models.OneToOneField(User) preferred_license = models.ForeignKey(FreeLicense, help_text=_("\ By default, all of your submissions will be under the following \ license, and this license will be displayed next to your \ submissions. <a href=\"/licenses/\">Find out more.</a>"), default=1) interests = models.CharField(max_length=512, null=True, help_text=_("\ Tell us about your research interests (e.g. \ <em>signal processing</em>, <em>hyperbolic PDEs</em>). These \ keywords will be used when searching for submissions."), blank=True, verbose_name=_("Research interests")) blurb = models.TextField(max_length=16384, null=True, help_text=_("\ Finally, anything else you would like to say about yourself."), blank=True) pygments_style = models.ForeignKey(PygmentsStyle, default=1, verbose_name=_('Syntax highlighting style'), help_text=_("\ Choose a stylesheet for displayed syntax-highlighted code. Most of \ these stylesheets are based off of default Pygments stylesheets.")) def __unicode__(self): return self.user.username # Defines a post_save hook to ensure that a profile is created for each user # This also ensures that the admin user (created when running syncdb) has one def create_user_profile(sender, instance, created, **kwards): if created: Profile.objects.create(user=instance) models.signals.post_save.connect(create_user_profile, sender=User)