Changeset 2060

Show
Ignore:
Timestamp:
06/23/09 13:00:54 (9 months ago)
Author:
JensDiemer
Message:
Location:
branches/0.9/pylucid_project/apps/pylucid
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • branches/0.9/pylucid_project/apps/pylucid/fields.py

    r2054 r2060  
    4646        raise exceptions.ValidationError(_("Error: %r is not a CSS hex color value") % value) 
    4747 
    48 class ColorInputWidget(forms.TextInput): 
     48 
     49#----------------------------------------------------------------------------- 
     50 
     51 
     52class ColorValueInputWidget(forms.TextInput): 
    4953    """ 
    50     Add background-color into input tag 
    51     TODO: Change text color, if background is to dark ;) 
    52     TODO2: Use jQuery to change the <td> background color ;) 
     54    Add background-ColorValue into input tag 
     55    TODO: Change text ColorValue, if background is to dark ;) 
     56    TODO2: Use jQuery to change the <td> background ColorValue ;) 
    5357    """ 
    5458    def render(self, name, value, attrs=None): 
    5559        if not attrs: 
    5660            attrs = {} 
    57         attrs["style"] = "background-color:#%s;" % value 
    58         return super(ColorInputWidget, self).render(name, value, attrs) 
     61        attrs["style"] = "background-ColorValue:#%s;" % value 
     62        return super(ColorValueInputWidget, self).render(name, value, attrs) 
    5963 
    6064 
    61 class ColorFormField(forms.CharField): 
    62     """ form field for a CSS color value """ 
    63     widget = ColorInputWidget 
     65class ColorValueFormField(forms.CharField): 
     66    """ form field for a CSS ColorValue value """ 
     67    widget = ColorValueInputWidget 
    6468    def clean(self, value): 
    6569        """ validate the form data """ 
    66         value = super(ColorFormField, self).clean(value) 
    67         validate_css_color_value(value) 
     70        value = super(ColorValueFormField, self).clean(value) 
     71        validate_css_ColorValue_value(value) 
    6872        self.value = value 
    6973        return value 
    7074 
    7175 
    72 class ColorField(models.CharField): 
    73     """ CSS color hex value field. """ 
     76class ColorValueField(models.CharField): 
     77    """ CSS ColorValue hex value field. """ 
    7478    #__metaclass__ = models.SubfieldBase 
    7579    def __init__(self, *args, **kwargs): 
     
    7983    def get_db_prep_save(self, value): 
    8084        "Returns field's value prepared for saving into a database." 
    81         validate_css_color_value(value) 
     85        validate_css_ColorValue_value(value) 
    8286        return value 
    8387 
    8488    def to_python(self, value): 
    85         validate_css_color_value(value) 
     89        validate_css_ColorValue_value(value) 
    8690        return value 
    8791 
    8892    def formfield(self, **kwargs): 
    8993        # Always use own form field and widget: 
    90         kwargs['form_class'] = ColorFormField 
    91         kwargs['widget'] = ColorInputWidget 
    92         return super(ColorField, self).formfield(**kwargs) 
     94        kwargs['form_class'] = ColorValueFormField 
     95        kwargs['widget'] = ColorValueInputWidget 
     96        return super(ColorValueField, self).formfield(**kwargs) 
    9397 
    9498 
  • branches/0.9/pylucid_project/apps/pylucid/models.py

    r2057 r2060  
    4545from pylucid.system.auto_model_info import UpdateInfoBaseModel,AutoSiteM2M 
    4646from pylucid.shortcuts import user_message_or_warn 
    47 from pylucid.fields import ColorField 
     47from pylucid.fields import ColorValueField 
    4848from pylucid.system import headfile 
    4949 
     
    488488        help_text="Name if this color (e.g. main_color, head_background)" 
    489489    ) 
    490     value = ColorField(help_text="CSS hex color value.") 
     490    value = ColorValueField(help_text="CSS hex color value.") 
    491491     
    492492    def save(self, *args, **kwargs): 
     493        self.name = self.name.replace(" ", "_") 
    493494        new_name = self.name 
    494495        old_name = Color.objects.get(id=self.id).name 
     
    522523     
    523524    def __unicode__(self): 
    524         sites = [site.name for site in self.site.all()] 
    525         return u"Color '%s' (%s, on sites: %r)" % (self.name, self.colorscheme, sites) 
     525        return u"Color '%s' #%s (%s)" % (self.name, self.value, self.colorscheme) 
    526526     
    527527    class Meta: 
     
    757757        self.sha_login_salt = salt 
    758758        self.sha_login_checksum = sha_checksum 
    759         user_message_or_warn("SHA Login salt+checksum created for user '%s'." % self.user) 
     759        user_message_or_warn("SHA Login salt+checksum set for user '%s'." % self.user) 
    760760 
    761761    def __unicode__(self): 
     
    793793    """ signal handler: creating user profile, after a new user created. """ 
    794794    user = kwargs["instance"] 
    795              
     795         
    796796    userprofile, created = UserProfile.objects.get_or_create(user=user) 
    797797    if created: 
     
    827827    orig_set_password(user, raw_password) 
    828828     
    829     user_profile = user.get_profile() 
     829    userprofile, created = UserProfile.objects.get_or_create(user=user) 
     830    if created: 
     831        user_message_or_warn("UserProfile entry for user '%s' created." % user) 
    830832 
    831833    # Save the password for the JS-SHA-Login: 
    832     user_profile.set_sha_login_password(raw_password) 
    833     user_profile.save() 
     834    userprofile.set_sha_login_password(raw_password) 
     835    userprofile.save() 
    834836 
    835837