src/cm/views/site.py
changeset 160 0c01050f9717
parent 158 acdceed9d3c0
child 161 5f30378c79a4
--- a/src/cm/views/site.py	Wed Feb 10 14:34:08 2010 +0100
+++ b/src/cm/views/site.py	Thu Feb 11 16:28:10 2010 +0100
@@ -148,7 +148,7 @@
 class SettingsForm(forms.Form):
     workspace_name = forms.CharField(label=ugettext_lazy("Workspace name"),
                                      widget=forms.TextInput,
-                                     required=True,
+                                     required=False,
                                      )
     
     workspace_tagline = forms.CharField(label=ugettext_lazy("Workspace tagline"),
@@ -156,6 +156,8 @@
                                         required=False,
                                         )
 
+    workspace_logo_file  = forms.FileField(label=ugettext_lazy("Workspace logo"),required=False)
+
     workspace_registration = forms.BooleanField(label=ugettext_lazy("Workspace registration"),
                                                 help_text=ugettext_lazy("Can users register themselves into the workspace? (if not, only invitations by managers can create new users)"),
                                                 required=False,
@@ -171,6 +173,8 @@
                                              choices=role_models_choices,
                                              required=False,
                                              )
+    
+    
     # fields to save in the Configuration objects
     conf_fields = ['workspace_name', 'workspace_tagline', 'workspace_registration', 'workspace_registration_moderation', 'workspace_role_model']
 
@@ -185,15 +189,28 @@
             if field in self.conf_fields:
                 val = self.cleaned_data[field]
                 Configuration.objects.set_key(field, val)
+        #handle_uploaded_file()
+    def save_file(self, logo_file):
+        attach = Attachment.objects.create_attachment(filename='wp_logo', data=logo_file.read(), text_version=None)
+        Configuration.objects.set_key('workspace_logo_file_key', attach.key)
+        print attach.key
         
 @has_global_perm('can_manage_workspace')
 def settingss(request):
     if request.method == 'POST':
-        form = SettingsForm(data=request.POST)
-        if form.is_valid() :
-            form.save()
+        if 'delete_logo' in request.POST:
+            Configuration.objects.del_key('workspace_logo_file_key')
             display_message(request, _(u'Settings saved'))
-            return HttpResponseRedirect(reverse('index'))
+            return HttpResponseRedirect(reverse('index'))            
+        else:
+            form = SettingsForm(data=request.POST)
+            if form.is_valid() :
+                form.save()
+                logo_file = request.FILES.get('workspace_logo_file',None)
+                if logo_file:
+                    form.save_file(logo_file)
+                display_message(request, _(u'Settings saved'))
+                return HttpResponseRedirect(reverse('index'))
     else:
         form = SettingsForm()