Changeset 2060
- Timestamp:
- 06/23/09 13:00:54 (9 months ago)
- 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 46 46 raise exceptions.ValidationError(_("Error: %r is not a CSS hex color value") % value) 47 47 48 class ColorInputWidget(forms.TextInput): 48 49 #----------------------------------------------------------------------------- 50 51 52 class ColorValueInputWidget(forms.TextInput): 49 53 """ 50 Add background- colorinto input tag51 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 ;) 53 57 """ 54 58 def render(self, name, value, attrs=None): 55 59 if not attrs: 56 60 attrs = {} 57 attrs["style"] = "background- color:#%s;" % value58 return super(Color InputWidget, self).render(name, value, attrs)61 attrs["style"] = "background-ColorValue:#%s;" % value 62 return super(ColorValueInputWidget, self).render(name, value, attrs) 59 63 60 64 61 class Color FormField(forms.CharField):62 """ form field for a CSS colorvalue """63 widget = Color InputWidget65 class ColorValueFormField(forms.CharField): 66 """ form field for a CSS ColorValue value """ 67 widget = ColorValueInputWidget 64 68 def clean(self, value): 65 69 """ validate the form data """ 66 value = super(Color FormField, self).clean(value)67 validate_css_ color_value(value)70 value = super(ColorValueFormField, self).clean(value) 71 validate_css_ColorValue_value(value) 68 72 self.value = value 69 73 return value 70 74 71 75 72 class Color Field(models.CharField):73 """ CSS colorhex value field. """76 class ColorValueField(models.CharField): 77 """ CSS ColorValue hex value field. """ 74 78 #__metaclass__ = models.SubfieldBase 75 79 def __init__(self, *args, **kwargs): … … 79 83 def get_db_prep_save(self, value): 80 84 "Returns field's value prepared for saving into a database." 81 validate_css_ color_value(value)85 validate_css_ColorValue_value(value) 82 86 return value 83 87 84 88 def to_python(self, value): 85 validate_css_ color_value(value)89 validate_css_ColorValue_value(value) 86 90 return value 87 91 88 92 def formfield(self, **kwargs): 89 93 # Always use own form field and widget: 90 kwargs['form_class'] = Color FormField91 kwargs['widget'] = Color InputWidget92 return super(Color Field, self).formfield(**kwargs)94 kwargs['form_class'] = ColorValueFormField 95 kwargs['widget'] = ColorValueInputWidget 96 return super(ColorValueField, self).formfield(**kwargs) 93 97 94 98 -
branches/0.9/pylucid_project/apps/pylucid/models.py
r2057 r2060 45 45 from pylucid.system.auto_model_info import UpdateInfoBaseModel,AutoSiteM2M 46 46 from pylucid.shortcuts import user_message_or_warn 47 from pylucid.fields import Color Field47 from pylucid.fields import ColorValueField 48 48 from pylucid.system import headfile 49 49 … … 488 488 help_text="Name if this color (e.g. main_color, head_background)" 489 489 ) 490 value = Color Field(help_text="CSS hex color value.")490 value = ColorValueField(help_text="CSS hex color value.") 491 491 492 492 def save(self, *args, **kwargs): 493 self.name = self.name.replace(" ", "_") 493 494 new_name = self.name 494 495 old_name = Color.objects.get(id=self.id).name … … 522 523 523 524 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) 526 526 527 527 class Meta: … … 757 757 self.sha_login_salt = salt 758 758 self.sha_login_checksum = sha_checksum 759 user_message_or_warn("SHA Login salt+checksum createdfor user '%s'." % self.user)759 user_message_or_warn("SHA Login salt+checksum set for user '%s'." % self.user) 760 760 761 761 def __unicode__(self): … … 793 793 """ signal handler: creating user profile, after a new user created. """ 794 794 user = kwargs["instance"] 795 795 796 796 userprofile, created = UserProfile.objects.get_or_create(user=user) 797 797 if created: … … 827 827 orig_set_password(user, raw_password) 828 828 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) 830 832 831 833 # 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() 834 836 835 837