| author | raph |
| Thu, 11 Feb 2010 16:28:10 +0100 | |
| changeset 160 | 0c01050f9717 |
| parent 159 | 4ec5ae89a7b0 |
| child 161 | 5f30378c79a4 |
--- a/src/cm/context_processors.py Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/context_processors.py Thu Feb 11 16:28:10 2010 +0100 @@ -9,7 +9,8 @@ 'SITE_URL' : settings.SITE_URL, 'CLIENT_DEBUG' : settings.CLIENT_DEBUG, 'YUI_VERSION' : settings.YUI_VERSION, - 'CONF': ApplicationConfiguration + 'CONF': ApplicationConfiguration, + 'CM_MEDIA_PREFIX' : settings.CM_MEDIA_PREFIX, }
--- a/src/cm/media/css/base.css Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/media/css/base.css Thu Feb 11 16:28:10 2010 +0100 @@ -416,17 +416,16 @@ text-align:right; } -#sopinspacelink:hover { +#comentlink:hover { color:#EB5700; text-decoration:underline; } -#sopinspacelink, #sopinspacelink:visited { +#comentlink, #comentlink:visited { color:#EB5700; text-decoration:none; } - .ui-widget-content { border-left:0; border-right:0; @@ -437,14 +436,17 @@ color:#00F; } -ul.navlinks li { - display:inline; - list-style-image:none; - list-style-position:outside; - list-style-type:none; - padding:0 0.5em 0 0; +.footlinks { + padding-top: 10px; +} + +.navlinks { + padding:0em 0.5em 0 0; white-space:nowrap; } +.navright { + float:right; +} a.title { color:#000;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cm/migrations/0008_nullable_text_version_in_attachements.py Thu Feb 11 16:28:10 2010 +0100 @@ -0,0 +1,183 @@ + +from south.db import db +from django.db import models +from cm.models import * + +class Migration: + + def forwards(self, orm): + db.alter_column('cm_attachment', 'text_version', models.ForeignKey(TextVersion, null=True), explicit_name=False) + + + def backwards(self, orm): + "Write your backwards migration here" + db.alter_column('cm_attachment', 'text_version', models.ForeignKey(TextVersion, null=True), explicit_name=False) + + + models = { + 'auth.group': { + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}) + }, + 'auth.permission': { + 'Meta': {'unique_together': "(('content_type', 'codename'),)"}, + 'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['contenttypes.ContentType']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '50'}) + }, + 'auth.user': { + 'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}), + 'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Group']", 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}), + 'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}), + 'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}), + 'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']", 'blank': 'True'}), + 'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '75'}) + }, + 'cm.activity': { + 'comment': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['cm.Comment']", 'null': 'True', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'ip': ('django.db.models.fields.IPAddressField', [], {'default': 'None', 'max_length': '15', 'null': 'True', 'blank': 'True'}), + 'originator_user': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'related_name': "'originator_activity'", 'null': 'True', 'blank': 'True', 'to': "orm['auth.User']"}), + 'text': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['cm.Text']", 'null': 'True', 'blank': 'True'}), + 'text_version': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['cm.TextVersion']", 'null': 'True', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '30'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'default': 'None', 'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}) + }, + 'cm.attachment': { + 'adminkey': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}), + 'data': ('django.db.models.fields.files.FileField', [], {'max_length': '1000'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}), + 'text_version': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cm.TextVersion']"}) + }, + 'cm.comment': { + 'adminkey': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'content_html': ('django.db.models.fields.TextField', [], {}), + 'created': ('django.db.models.fields.DateTimeField', [], {}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'end_offset': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'end_wrapper': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'format': ('django.db.models.fields.CharField', [], {'default': "'markdown'", 'max_length': '20'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'id_key': ('django.db.models.fields.CharField', [], {'default': "'5GZbbULRf6X'", 'max_length': '20', 'db_index': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'reply_to': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cm.Comment']", 'null': 'True', 'blank': 'True'}), + 'start_offset': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'start_wrapper': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}), + 'state': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'tags': ('tagging.fields.TagField', [], {}), + 'text_version': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cm.TextVersion']"}), + 'title': ('django.db.models.fields.TextField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}) + }, + 'cm.configuration': { + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.TextField', [], {}), + 'raw_value': ('django.db.models.fields.TextField', [], {}) + }, + 'cm.email': { + 'bcc': ('django.db.models.fields.TextField', [], {}), + 'body': ('django.db.models.fields.TextField', [], {}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'from_email': ('django.db.models.fields.TextField', [], {}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'message': ('django.db.models.fields.TextField', [], {}), + 'subject': ('django.db.models.fields.TextField', [], {}), + 'to': ('django.db.models.fields.TextField', [], {}) + }, + 'cm.notification': { + 'active': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'adminkey': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}), + 'email': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'text': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cm.Text']", 'null': 'True', 'blank': 'True'}), + 'type': ('django.db.models.fields.CharField', [], {'max_length': '30', 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}) + }, + 'cm.role': { + 'anon': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'description': ('django.db.models.fields.TextField', [], {}), + 'global_scope': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '50'}), + 'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': "orm['auth.Permission']"}) + }, + 'cm.text': { + 'adminkey': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'deleted': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}), + 'last_text_version': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'related_text'", 'null': 'True', 'to': "orm['cm.TextVersion']"}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'private_feed_key': ('django.db.models.fields.CharField', [], {'null': 'True', 'default': 'None', 'max_length': '20', 'blank': 'True', 'unique': 'True', 'db_index': 'True'}), + 'state': ('django.db.models.fields.CharField', [], {'max_length': '16'}), + 'title': ('django.db.models.fields.TextField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}) + }, + 'cm.textversion': { + 'adminkey': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}), + 'content': ('django.db.models.fields.TextField', [], {}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'email': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'format': ('django.db.models.fields.CharField', [], {'default': "'markdown'", 'max_length': '20'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}), + 'mod_posteriori': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'note': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}), + 'tags': ('tagging.fields.TagField', [], {'max_length': '1000'}), + 'text': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cm.Text']"}), + 'title': ('django.db.models.fields.TextField', [], {}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}) + }, + 'cm.userprofile': { + 'adminkey': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}), + 'allow_contact': ('django.db.models.fields.BooleanField', [], {'default': 'True', 'blank': 'True'}), + 'created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'is_email_error': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_suspended': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'is_temp': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'blank': 'True'}), + 'key': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '20', 'db_index': 'True'}), + 'modified': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}), + 'preferred_language': ('django.db.models.fields.CharField', [], {'default': "'en'", 'max_length': '2'}), + 'tags': ('tagging.fields.TagField', [], {'max_length': '1000'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'unique': 'True'}) + }, + 'cm.userrole': { + 'Meta': {'unique_together': "(('role', 'user', 'text'),)"}, + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'role': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cm.Role']", 'null': 'True', 'blank': 'True'}), + 'text': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['cm.Text']", 'null': 'True', 'blank': 'True'}), + 'user': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['auth.User']", 'null': 'True', 'blank': 'True'}) + }, + 'contenttypes.contenttype': { + 'Meta': {'unique_together': "(('app_label', 'model'),)", 'db_table': "'django_content_type'"}, + 'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '100'}) + } + } + + complete_apps = ['cm']
--- a/src/cm/models.py Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/models.py Thu Feb 11 16:28:10 2010 +0100 @@ -386,6 +386,12 @@ return self.get(key=key).value except Configuration.DoesNotExist: return DEFAULT_CONF.get(key, default_value) + + def del_key(self, key): + try: + self.get(key=key).delete() + except Configuration.DoesNotExist: + return None def set_key(self, key, value): conf, created = self.get_or_create(key=key) @@ -396,7 +402,18 @@ change_role_model(value) def __getitem__(self, key): - return self.get_key(key, None) + if not key.startswith('f_'): + return self.get_key(key, None) + else: + return getattr(self,key)() + + def f_get_logo_url(self): + key = self.get_key('workspace_logo_file_key', None) + if key: + attach = Attachment.objects.get(key=key) + return attach.data.url + else: + return None import base64 @@ -428,7 +445,7 @@ class Attachment(KeyModel): data = models.FileField(upload_to="attachments/%Y/%m/%d/", max_length=1000) - text_version = models.ForeignKey(TextVersion) + text_version = models.ForeignKey(TextVersion, null=True) objects = AttachmentManager()
--- a/src/cm/templates/site/dashboard.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/dashboard.html Thu Feb 11 16:28:10 2010 +0100 @@ -45,12 +45,12 @@ </thead> <tbody> <tr><td> - {% if can_create_text %}<div class="dash_action"><a class="" href="{% url text-create-content %}"><img align="middle" src="{{ MEDIA_URL }}img/sop_write.png"/> {% blocktrans %}Write a text{% endblocktrans %}</a></div>{% endif %} - {% if can_create_text %}<div class="dash_action"><a class="" href="{% url text-create-upload %}"><img align="middle" src="{{ MEDIA_URL }}img/sop_upload.png"/> {% blocktrans %}Upload a text{% endblocktrans %}</a></div>{% endif %} - {% if can_manage_workspace %}<div class="dash_action"><a class="" href="{% url user-add %}"><img align="middle" src="{{ MEDIA_URL }}img/group_add.png"/> {% blocktrans %}Invite user{% endblocktrans %}</a></div>{% endif %} - <div class="dash_action"><a class="" href="{% url profile %}"><img align="middle" src="{{ MEDIA_URL }}img/user_edit.png"/> {% blocktrans %}Edit your profile{% endblocktrans %}</a></div> - <div class="dash_action"><a class="" href="{% url text %}"><img align="middle" src="{{ MEDIA_URL }}img/page_white_stack.png"/> {% blocktrans %}View text list{% endblocktrans %}</a></div> - {% if can_manage_workspace %}<div class="dash_action"><a class="" href="{% url settings %}"><img align="middle" src="{{ MEDIA_URL }}img/cog_edit.png"/> {% blocktrans %}Configure workspace{% endblocktrans %}</a></div>{% endif %} + {% if can_create_text %}<div class="dash_action"><a class="" href="{% url text-create-content %}"><img align="middle" src="{{ CM_MEDIA_PREFIX }}img/sop_write.png"/> {% blocktrans %}Write a text{% endblocktrans %}</a></div>{% endif %} + {% if can_create_text %}<div class="dash_action"><a class="" href="{% url text-create-upload %}"><img align="middle" src="{{ CM_MEDIA_PREFIX }}img/sop_upload.png"/> {% blocktrans %}Upload a text{% endblocktrans %}</a></div>{% endif %} + {% if can_manage_workspace %}<div class="dash_action"><a class="" href="{% url user-add %}"><img align="middle" src="{{ CM_MEDIA_PREFIX }}img/group_add.png"/> {% blocktrans %}Invite user{% endblocktrans %}</a></div>{% endif %} + <div class="dash_action"><a class="" href="{% url profile %}"><img align="middle" src="{{ CM_MEDIA_PREFIX }}img/user_edit.png"/> {% blocktrans %}Edit your profile{% endblocktrans %}</a></div> + <div class="dash_action"><a class="" href="{% url text %}"><img align="middle" src="{{ CM_MEDIA_PREFIX }}img/page_white_stack.png"/> {% blocktrans %}View text list{% endblocktrans %}</a></div> + {% if can_manage_workspace %}<div class="dash_action"><a class="" href="{% url settings %}"><img align="middle" src="{{ CM_MEDIA_PREFIX }}img/cog_edit.png"/> {% blocktrans %}Configure workspace{% endblocktrans %}</a></div>{% endif %} </td> </tr> @@ -71,12 +71,12 @@ {% with profile.user as user %} <li class="dashlog_item"> <div class="dashlog"> - <img class="dashlog_img" src="{{ MEDIA_URL }}img/user_error_small.png"/> + <img class="dashlog_img" src="{{ CM_MEDIA_PREFIX }}img/user_error_small.png"/> <span class="dashlog_data"> {% blocktrans %}user {{ user }} awaits approval{% endblocktrans %} </span> <div class="mod_actions"> -<img src="{{ MEDIA_URL }}img/bullet_go_small.png"/> +<img src="{{ CM_MEDIA_PREFIX }}img/bullet_go_small.png"/> <a id="user-approve-{{ user.get_profile.key }}" href="#">{% blocktrans %}approve{% endblocktrans %}</a>/<a id="user-refuse-{{ user.get_profile.key }}" href="#">{% blocktrans %}refuse{% endblocktrans %}</a> {% blocktrans %}membership{% endblocktrans %} <script type="text/javascript"> <!-- @@ -114,14 +114,14 @@ {% for comment in to_mod_comments %} <li class="dashlog_item"> <div class="dashlog"> - <img class="dashlog_img" src="{{ MEDIA_URL }}img/note_error_small.png"/> + <img class="dashlog_img" src="{{ CM_MEDIA_PREFIX }}img/note_error_small.png"/> <span class="dashlog_data"> {% blocktrans %}comment{% endblocktrans %} <a href="{% url text-view-show-comment comment.text_version.text.key comment.id_key %}">{{ comment.title }}</a> {% blocktrans with comment.user as cuser %}by {{ cuser }} on text{% endblocktrans %} <a href="{% url text-view comment.text_version.text.key %}">{{ comment.text_version.text.title }}</a> {% blocktrans %}awaits approval{% endblocktrans %}<br /> </span> <div style="padding-left:22px;" class="mod_actions"> -<img src="{{ MEDIA_URL }}img/bullet_go_small.png"/> +<img src="{{ CM_MEDIA_PREFIX }}img/bullet_go_small.png"/> <a id="comment-approve-{{ comment.key }}" href="#">{% blocktrans %}approve{% endblocktrans %}</a>/<a id="comment-refuse-{{ comment.key }}" href="#">{% blocktrans %}refuse{% endblocktrans %}</a> {% blocktrans %}comment{% endblocktrans %}, <a href="{% url text-view-show-comment comment.text_version.text.key comment.id_key %}">{% blocktrans %}view in context{% endblocktrans %}</a> @@ -192,7 +192,7 @@ {% for text in last_texts %} <li class="dashlog_item"> <div class="dashlog"> - <img class="dashlog_img" src="{{ MEDIA_URL }}img/page_white.png"/> + <img class="dashlog_img" src="{{ CM_MEDIA_PREFIX }}img/page_white.png"/> <span class="dashlog_data"> <a href="{% url text-view text.key %}">{{ text.title }}</a> </span> @@ -295,7 +295,7 @@ {% for activity in object_list %} <li class="dashlog_item"> <div class="dashlog"> - <img class="dashlog_img" src={{ MEDIA_URL }}img/{{ activity.img_name }} /> + <img class="dashlog_img" src={{ CM_MEDIA_PREFIX }}img/{{ activity.img_name }} /> <span class="dashlog_data"> {{ activity.printable_data }} </span>
--- a/src/cm/templates/site/dashboard_bloc_recent_comments.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/dashboard_bloc_recent_comments.html Thu Feb 11 16:28:10 2010 +0100 @@ -15,7 +15,7 @@ {% for comment in last_comments %} <li class="dashlog_item"> <div class="dashlog"> - <img class="dashlog_img" src="{{ MEDIA_URL }}img/note_small.png"/> + <img class="dashlog_img" src="{{ CM_MEDIA_PREFIX }}img/note_small.png"/> <span class="dashlog_data"> <a href="{% url text-view-show-comment comment.text_version.text.key comment.id_key %}">{{ comment.title }}</a> {% blocktrans %}on text{% endblocktrans %} <a href="{% url text-view comment.text_version.text.key %}">{{ comment.text_version.title }}</a> </span>
--- a/src/cm/templates/site/followup.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/followup.html Thu Feb 11 16:28:10 2010 +0100 @@ -23,7 +23,7 @@ <div> <a href="{% url public-feed %}" title="{% blocktrans %}Public feed for workspace{% endblocktrans %}"> - <img style="vertical-align:middle;" src="{{ MEDIA_URL }}/img/xml.gif" /> {{SITE_URL}}{% url public-feed %} + <img style="vertical-align:middle;" src="{{ CM_MEDIA_PREFIX }}/img/xml.gif" /> {{SITE_URL}}{% url public-feed %} </a> </div> {% blocktrans %}This is the public feed for the workspace.{% endblocktrans %} @@ -37,7 +37,7 @@ {% if CONF.private_feed_key %} <div> <a href="{% url private-feed CONF.private_feed_key %}" title="{% blocktrans %}Private feed for workspace{% endblocktrans %}"> - <img style="vertical-align:middle;" src="{{ MEDIA_URL }}/img/xml.gif" /> {{SITE_URL}}{% url private-feed CONF.private_feed_key %} + <img style="vertical-align:middle;" src="{{ CM_MEDIA_PREFIX }}/img/xml.gif" /> {{SITE_URL}}{% url private-feed CONF.private_feed_key %} </a> </div> {% blocktrans %}This is the private feed for the workspace. Don't share this address with others unless you want them to see all activities on the workspace.{% endblocktrans %}
--- a/src/cm/templates/site/layout/base.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/layout/base.html Thu Feb 11 16:28:10 2010 +0100 @@ -21,15 +21,15 @@ </script> --> - <link type="text/css" href="{{ MEDIA_URL }}js/lib/jquery/css/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" /> - <script type="text/javascript" src="{{ MEDIA_URL }}js/lib/jquery/js/jquery-1.3.2.min.js"></script> - <script type="text/javascript" src="{{ MEDIA_URL }}js/lib/jquery/js/jquery-ui-1.7.2.custom.min.js"></script> - <script type="text/javascript" src="{{ MEDIA_URL }}js/lib/jquery/js/cookie/jquery.cookie.js"></script> - <script type="text/javascript" src="{{ MEDIA_URL }}js/site/layout/base.js"></script> - <script type="text/javascript" src="{{ MEDIA_URL }}js/lib/jquery.sparkline/jquery.sparkline.min.js"></script> + <link type="text/css" href="{{ CM_MEDIA_PREFIX }}js/lib/jquery/css/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" /> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/jquery/js/jquery-1.3.2.min.js"></script> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/jquery/js/jquery-ui-1.7.2.custom.min.js"></script> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/jquery/js/cookie/jquery.cookie.js"></script> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/site/layout/base.js"></script> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/jquery.sparkline/jquery.sparkline.min.js"></script> - <script type="text/javascript" src="{{ MEDIA_URL }}js/lib/tipsy/src/javascripts/jquery.tipsy.js"></script> - <link type="text/css" href="{{ MEDIA_URL }}js/lib/tipsy/src/stylesheets/tipsy.css" rel="stylesheet" /> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/tipsy/src/javascripts/jquery.tipsy.js"></script> + <link type="text/css" href="{{ CM_MEDIA_PREFIX }}js/lib/tipsy/src/stylesheets/tipsy.css" rel="stylesheet" /> <script type="text/javascript"> <!-- $(function() { @@ -51,8 +51,8 @@ {% include "site/layout/req_yui.html" %} - <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/base.css" /> - <link rel="shortcut icon" href="{{ MEDIA_URL }}favicon.ico" /> + <link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}css/base.css" /> + <link rel="shortcut icon" href="{{ CM_MEDIA_PREFIX }}favicon.ico" /> {% include "site/macros/timezone.html" %}
--- a/src/cm/templates/site/layout/base_workspace.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/layout/base_workspace.html Thu Feb 11 16:28:10 2010 +0100 @@ -11,7 +11,20 @@ {% get_local_perm request can_manage_workspace as can_manage_workspace %} {% nb_texts as nb_texts %} {% nb_users as nb_users %} -<h1 class="main_title"><a title="{% blocktrans %}back to workspace{% endblocktrans %}" class="title" href="{% url index %}">{{ CONF.workspace_name }}</a></h1> +<h1 class="main_title"> +{% if CONF.f_get_logo_url %} +<div><img src="{{ CONF.f_get_logo_url }}"></img></div> +{% endif %} + +{% if CONF.workspace_name %} +<a title="{% blocktrans %}back to workspace{% endblocktrans %}" class="title" href="{% url index %}">{{ CONF.workspace_name }}</a> +{% endif %} +</h1> + +{% if CONF.workspace_tagline %} +<div> +{{ CONF.workspace_tagline }}</div> +{% endif %} <span class="metadata"> {% blocktrans count nb_texts as nb_texts %}{{ nb_texts }} text{% plural %}{{ nb_texts }} texts{% endblocktrans %}{% if can_manage_workspace %}, {% blocktrans count nb_users as nb_users %}{{ nb_users }} user{% plural %}{{ nb_users }} users{% endblocktrans %}
--- a/src/cm/templates/site/layout/footer.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/layout/footer.html Thu Feb 11 16:28:10 2010 +0100 @@ -2,13 +2,17 @@ <div class="footer"> <div id="footerbar"> -<div class="footlinks"> -<ul class="navlinks"> - <li><a href="#">{% blocktrans %}About{% endblocktrans %}</a></li> - <li>·</li> - <li><a href="{% url contact %}">{% blocktrans %}Contact{% endblocktrans %}</a></li> - <li>·</li> - <li> +<div class="footlinks" style="padding-top: 10px;"> +<span class="navlinks navleft"> + <a href="#">{% blocktrans %}About{% endblocktrans %}</a> + · + <a href="{% url contact %}">{% blocktrans %}Contact{% endblocktrans %}</a> + · + <a id="comentlink" title="co-ment" href="http://www.co-ment.com">Powered by <img src="{{ CM_MEDIA_PREFIX }}img/logo-co-ment-50.png"></img></a> + · + <a href="{% url help %}">{% blocktrans %}Help{% endblocktrans %}</a> + + · {% for lang in LOCAL_LANGUAGES %} {% ifequal lang.0 LANGUAGE_CODE %} {{ lang.1 }} @@ -16,15 +20,15 @@ <a title="{{ lang.1 }}" href="{% url setlang lang.0 %}">{{ lang.1 }}</a> {% endifequal %} {% if not forloop.last %} - / + {% endif %} {% endfor %} - </li> - <li>·</li> - <li><a id="sopinspacelink" href="http://www.sopinspace.com">© 2007-{% now "Y" %} Sopinspace</a></li> - <li>·</li> - <li><a href="{% url help %}">{% blocktrans %}Help{% endblocktrans %}</a></li> -</ul> + + +</span> +<span class="navlinks navright"> + +</span> </div> </div> </div>
--- a/src/cm/templates/site/layout/req_yui.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/layout/req_yui.html Thu Feb 11 16:28:10 2010 +0100 @@ -1,4 +1,4 @@ - <script type="text/javascript" src="{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/yui/yui-{% if CLIENT_DEBUG %}debug{% else %}min{% endif %}.js"></script> - <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/cssreset/reset-min.css"/> - <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/cssfonts/fonts-min.css"/> - <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/cssbase/base-min.css"/> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/yui/yui-{% if CLIENT_DEBUG %}debug{% else %}min{% endif %}.js"></script> + <link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/cssreset/reset-min.css"/> + <link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/cssfonts/fonts-min.css"/> + <link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/cssbase/base-min.css"/>
--- a/src/cm/templates/site/macros/text_actions.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/macros/text_actions.html Thu Feb 11 16:28:10 2010 +0100 @@ -1,6 +1,6 @@ {% load i18n %} -<script type="text/javascript" src="{{ MEDIA_URL }}js/lib/fg-menu/fg.menu.js"></script> -<link type="text/css" href="{{ MEDIA_URL }}js/lib/fg-menu/fg.menu.css" media="screen" rel="stylesheet" /> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/fg-menu/fg.menu.js"></script> +<link type="text/css" href="{{ CM_MEDIA_PREFIX }}js/lib/fg-menu/fg.menu.css" media="screen" rel="stylesheet" /> <style type="text/css"> .fg-menu-action .fg-menu li { width: 95%; } @@ -9,12 +9,12 @@ </style> <div class="text-buttons"> -<a id="share" class="fg-button fg-button-icon-right ui-widget ui-state-default ui-corner-all" id="flat"><span class="ui-icon ui-icon-triangle-1-s"></span>{% blocktrans %}Share{% endblocktrans %} <img class="align-mid" src="{{ MEDIA_URL }}img/social/facebook.gif" /><img class="align-mid" src="{{ MEDIA_URL }}img/social/digg.gif" /></a> +<a id="share" class="fg-button fg-button-icon-right ui-widget ui-state-default ui-corner-all" id="flat"><span class="ui-icon ui-icon-triangle-1-s"></span>{% blocktrans %}Share{% endblocktrans %} <img class="align-mid" src="{{ CM_MEDIA_PREFIX }}img/social/facebook.gif" /><img class="align-mid" src="{{ CM_MEDIA_PREFIX }}img/social/digg.gif" /></a> <div id="share-options" class="hidden"> <ul> - <li><a href="http://www.facebook.com/sharer.php?u={{ SITE_URL }}{% url text-view text.key %}"><img class="align-mid" src="{{ MEDIA_URL }}img/social/facebook.gif" /> Facebook</a></li> - <li><a href="http://digg.com/remote-submit/?phase=2&url={{ SITE_URL }}{% url text-view text.key %}"><img class="align-mid" src="{{ MEDIA_URL }}img/social/digg.gif" /> Digg</a></li> - <li><a href="http://www.linkedin.com/shareArticle?mini=true&url={{ SITE_URL }}{% url text-view text.key %}"><img class="align-mid" src="{{ MEDIA_URL }}img/social/linkedin.gif" /> Linkedin</a></li> + <li><a href="http://www.facebook.com/sharer.php?u={{ SITE_URL }}{% url text-view text.key %}"><img class="align-mid" src="{{ CM_MEDIA_PREFIX }}img/social/facebook.gif" /> Facebook</a></li> + <li><a href="http://digg.com/remote-submit/?phase=2&url={{ SITE_URL }}{% url text-view text.key %}"><img class="align-mid" src="{{ CM_MEDIA_PREFIX }}img/social/digg.gif" /> Digg</a></li> + <li><a href="http://www.linkedin.com/shareArticle?mini=true&url={{ SITE_URL }}{% url text-view text.key %}"><img class="align-mid" src="{{ CM_MEDIA_PREFIX }}img/social/linkedin.gif" /> Linkedin</a></li> </ul> </div>
--- a/src/cm/templates/site/macros/text_editor.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/macros/text_editor.html Thu Feb 11 16:28:10 2010 +0100 @@ -1,10 +1,10 @@ {% load i18n %} -<script type="text/javascript" src="{{ MEDIA_URL }}js/lib/markitup/1.1.5/markitup/jquery.markitup.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/markitup/sets.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/markitup/1.1.5/markitup/jquery.markitup.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/markitup/sets.js"></script> -<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}js/lib/markitup/1.1.5/markitup/skins/markitup/style.css" /> -<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/markitup/style.css" /> -<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/markitup/editor.css" /> +<link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}js/lib/markitup/1.1.5/markitup/skins/markitup/style.css" /> +<link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}css/markitup/style.css" /> +<link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}css/markitup/editor.css" /> <script type="text/javascript" >
--- a/src/cm/templates/site/settings.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/settings.html Thu Feb 11 16:28:10 2010 +0100 @@ -21,6 +21,8 @@ {% block buttons %} <input name="cancel" type="button" id="cancel_button" value="{% blocktrans %}Cancel{% endblocktrans %}"/> + | + <input name="delete_logo" type="submit" id="delete_logo_button" value="{% blocktrans %}Delete logo{% endblocktrans %}"/> <script type="text/javascript"> <!--
--- a/src/cm/templates/site/text_edit.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/text_edit.html Thu Feb 11 16:28:10 2010 +0100 @@ -3,7 +3,7 @@ {% load com %} {% block head %} -<script type="text/javascript" src="{{ MEDIA_URL }}js/site/text_edit.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/site/text_edit.js"></script> {% endblock %} {% block main %}
--- a/src/cm/templates/site/text_followup.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/text_followup.html Thu Feb 11 16:28:10 2010 +0100 @@ -25,7 +25,7 @@ <div> <a href="{{SITE_URL}}{% url text-feed text.key %}" title="{% blocktrans with text.title as title %}Public feed for text {{ title }}{% endblocktrans %}"> - <img style="vertical-align:middle;" src="{{ MEDIA_URL }}img/xml.gif" /> {{SITE_URL}}{% url text-feed text.key %} + <img style="vertical-align:middle;" src="{{ CM_MEDIA_PREFIX }}img/xml.gif" /> {{SITE_URL}}{% url text-feed text.key %} </a> </div> {% blocktrans %}This is the public feed for the text.{% endblocktrans %} @@ -39,7 +39,7 @@ {% if text.private_feed_key %} <div> <a href="{{SITE_URL}}{% url text-private-feed text.key text.private_feed_key %}" title="{% blocktrans %}Private feed for text {% endblocktrans %}"> - <img style="vertical-align:middle;" src="{{ MEDIA_URL }}img/xml.gif" /> {{SITE_URL}}{% url text-private-feed text.key text.private_feed_key %} + <img style="vertical-align:middle;" src="{{ CM_MEDIA_PREFIX }}img/xml.gif" /> {{SITE_URL}}{% url text-private-feed text.key text.private_feed_key %} </a> </div> {% blocktrans %}This is the private feed for the text. Don't share this address with others unless you want them to see all activities on this text.{% endblocktrans %}
--- a/src/cm/templates/site/text_print.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/text_print.html Thu Feb 11 16:28:10 2010 +0100 @@ -12,10 +12,10 @@ } </STYLE> -<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/site/text_view_comments/c-text.css"> -<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/site/text_view_comments/c-text-styles.css"> +<link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}css/site/text_view_comments/c-text.css"> +<link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}css/site/text_view_comments/c-text-styles.css"> -<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/site/text_view_comments/text_view_comments.css"> +<link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}css/site/text_view_comments/text_view_comments.css"> </head>
--- a/src/cm/templates/site/text_view_comments.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/text_view_comments.html Thu Feb 11 16:28:10 2010 +0100 @@ -6,7 +6,7 @@ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> {% include "site/layout/req_yui.html" %} -<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/site/text_view_comments/text_view_comments.css"> +<link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}css/site/text_view_comments/text_view_comments.css"> </head> <body> @@ -28,14 +28,14 @@ </div> </body> -<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/site/text_view_comments/c-text.css"> -<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/site/text_view_comments/c-text-styles.css"> -<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/site/text_view_comments/c-style-comment.css"> -<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/site/text_view_comments/c-style-gray.css"> -<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/site/text_view_comments/c-style-notelike.css"> +<link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}css/site/text_view_comments/c-text.css"> +<link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}css/site/text_view_comments/c-text-styles.css"> +<link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}css/site/text_view_comments/c-style-comment.css"> +<link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}css/site/text_view_comments/c-style-gray.css"> +<link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}css/site/text_view_comments/c-style-notelike.css"> <!-- date library, to be used by filter, maybe get rid of that when decent date parsing is offered elsewhere --> <!-- we're round tripping from object python date to str back to date to filter, TODO consider setting the date from python... --> -<script type="text/javascript" src="{{ MEDIA_URL }}js/lib/flexible-js-formatting/dates/date-functions.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/flexible-js-formatting/dates/date-functions.js"></script> <script type="text/javascript"> <!-- @@ -85,28 +85,28 @@ <script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script> {% if CLIENT_DEBUG %} -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_permissions.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_preferences.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_layout.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_icomment.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_db.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_sync.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_icomments.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_permissions.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_preferences.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_layout.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_icomment.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_db.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_sync.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_icomments.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_util.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_server_exchange.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_selection.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_scopes.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_interface_forms.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_addcomment_form.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_reply_form.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_edit_form.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_dlg_intercept.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_util.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_server_exchange.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_selection.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_scopes.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_interface_forms.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_addcomment_form.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_reply_form.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_edit_form.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_dlg_intercept.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/site/c_text_view_comments_to_frame.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/site/c_text_view_comments.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/site/c_text_view_comments_to_frame.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/site/c_text_view_comments.js"></script> {% else %} -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_client-min.js?1265230064"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_client-min.js?1265230064"></script> {% endif %}
--- a/src/cm/templates/site/text_view_frame.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/site/text_view_frame.html Thu Feb 11 16:28:10 2010 +0100 @@ -10,9 +10,9 @@ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- TODO factorize with base.html etc...--> - <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/cssreset/reset-min.css"> - <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/cssfonts/fonts-min.css"> - <link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/cssbase/base-min.css"> + <link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/cssreset/reset-min.css"> + <link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/cssfonts/fonts-min.css"> + <link rel="stylesheet" type="text/css" href="{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/cssbase/base-min.css"> <!-- TODO factorize with base.html for jquery etc... --> <script type="text/javascript"> @@ -20,23 +20,23 @@ sv_media_url = "{{ MEDIA_URL|escapejs}}" ; --> </script> - <link type="text/css" href="{{ MEDIA_URL }}js/lib/jquery/css/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" /> - <script type="text/javascript" src="{{ MEDIA_URL }}js/lib/jquery/js/jquery-1.3.2.min.js"></script> - <script type="text/javascript" src="{{ MEDIA_URL }}js/lib/jquery/js/jquery-ui-1.7.2.custom.min.js"></script> - <script type="text/javascript" src="{{ MEDIA_URL }}js/lib/jquery/js/layout/jquery.layout.min.js"></script> - <script type="text/javascript" src="{{ MEDIA_URL }}js/lib/jquery/js/cookie/jquery.cookie.js"></script><!-- not minified --> + <link type="text/css" href="{{ CM_MEDIA_PREFIX }}js/lib/jquery/css/smoothness/jquery-ui-1.7.2.custom.css" rel="stylesheet" /> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/jquery/js/jquery-1.3.2.min.js"></script> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/jquery/js/jquery-ui-1.7.2.custom.min.js"></script> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/jquery/js/layout/jquery.layout.min.js"></script> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/jquery/js/cookie/jquery.cookie.js"></script><!-- not minified --> - <!-- <script type="text/javascript" src="{{ MEDIA_URL }}js/lib/bgiframe_2.1.1/jquery.bgiframe.min.js"></script> --> + <!-- <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/bgiframe_2.1.1/jquery.bgiframe.min.js"></script> --> - <link type="text/css" href="{{ MEDIA_URL }}css/site/text_view_frame.css" rel="stylesheet" /> + <link type="text/css" href="{{ CM_MEDIA_PREFIX }}css/site/text_view_frame.css" rel="stylesheet" /> <script type="text/javascript" src="{% url django.views.i18n.javascript_catalog %}"></script> {% if CLIENT_DEBUG %} - <script type="text/javascript" src="{{ MEDIA_URL }}js/client/f_message.js"></script> - <script type="text/javascript" src="{{ MEDIA_URL }}js/client/f_printDialog.js"></script> - <script type="text/javascript" src="{{ MEDIA_URL }}js/site/f_text_view_frame.js"></script> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/f_message.js"></script> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/f_printDialog.js"></script> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/site/f_text_view_frame.js"></script> {% else %} - <script type="text/javascript" src="{{ MEDIA_URL }}js/client/f_client-min.js?1265230064"></script> + <script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/f_client-min.js?1265230064"></script> {% endif %} <style type="text/css"> /*
--- a/src/cm/templates/static/experiment/anim_io_sync.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/static/experiment/anim_io_sync.html Thu Feb 11 16:28:10 2010 +0100 @@ -17,8 +17,8 @@ } </style> -<link type="text/css" rel="stylesheet" href="{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/cssfonts/fonts-min.css" /> -<script type="text/javascript" src="{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/yui/yui-min.js"></script> +<link type="text/css" rel="stylesheet" href="{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/cssfonts/fonts-min.css" /> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/yui/yui-min.js"></script> <!--begin custom header content for this example--> @@ -111,8 +111,8 @@ <button id="init">Initialize Application</button> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_server_exchange.js"></script> -<script type="text/javascript" src="{{ MEDIA_URL }}js/client/c_util.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_server_exchange.js"></script> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/client/c_util.js"></script> <script type="text/javascript"> @@ -278,7 +278,7 @@ -YUI({base:"{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/", timeout: 10000}).use("anim", "queue", "io","json",function (Y) { +YUI({base:"{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/", timeout: 10000}).use("anim", "queue", "io","json",function (Y) { CY = Y; var myApp = new MyApp() ;
--- a/src/cm/templates/static/experiment/test0.html Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/templates/static/experiment/test0.html Thu Feb 11 16:28:10 2010 +0100 @@ -17,8 +17,8 @@ } </style> -<link type="text/css" rel="stylesheet" href="{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/cssfonts/fonts-min.css" /> -<script type="text/javascript" src="{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/yui/yui-min.js"></script> +<link type="text/css" rel="stylesheet" href="{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/cssfonts/fonts-min.css" /> +<script type="text/javascript" src="{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/yui/yui-min.js"></script> </head> @@ -44,7 +44,7 @@ Y.Coment = Coment; }, '0.0.1'); -YUI({base:"{{ MEDIA_URL }}js/lib/yui/{{ YUI_VERSION }}/build/", timeout: 10000}).use("coment",function (Y) { +YUI({base:"{{ CM_MEDIA_PREFIX }}js/lib/yui/{{ YUI_VERSION }}/build/", timeout: 10000}).use("coment",function (Y) { Y.log('in here') ; var coment = new Y.Coment() ; coment.fun() ;
--- a/src/cm/urls.py Wed Feb 10 14:34:08 2010 +0100 +++ b/src/cm/urls.py Thu Feb 11 16:28:10 2010 +0100 @@ -128,9 +128,9 @@ if settings.DEBUG: urlpatterns += patterns('', - (r'^themedia/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), + (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}), - (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': 'src/cm/media/'}), + (r'^cmmedia/(?P<path>.*)$', 'django.views.static.serve', {'document_root': 'src/cm/media/'}), (r'^robots.txt$', 'django.views.static.serve', {'document_root': 'src/cm/media/', 'path':'robots.txt'}), (r'^favicon.ico$', 'django.views.static.serve', {'document_root': 'src/cm/media/', 'path':'favicon.ico'}),
--- 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()