# HG changeset patch # User ymh # Date 1285067177 -7200 # Node ID 90fd14c649bb916eaadb2f80c0524f549b2cac02 # Parent f71bdd7b11f43de2c714da7b24c9cd5094c2a814 add edition for content diff -r f71bdd7b11f4 -r 90fd14c649bb web/franceculture/config.py.tmpl --- a/web/franceculture/config.py.tmpl Tue Sep 21 09:38:45 2010 +0200 +++ b/web/franceculture/config.py.tmpl Tue Sep 21 13:06:17 2010 +0200 @@ -69,3 +69,5 @@ LDT_MAX_SEARCH_NUMBER = 50 LDT_JSON_DEFAULT_INDENT = 2 + +EMPTY_MEDIA_EXTERNALID = None diff -r f71bdd7b11f4 -r 90fd14c649bb web/franceculture/locale/fr/LC_MESSAGES/django.mo Binary file web/franceculture/locale/fr/LC_MESSAGES/django.mo has changed diff -r f71bdd7b11f4 -r 90fd14c649bb web/franceculture/templates/franceculture/partial/contentslist.html --- a/web/franceculture/templates/franceculture/partial/contentslist.html Tue Sep 21 09:38:45 2010 +0200 +++ b/web/franceculture/templates/franceculture/partial/contentslist.html Tue Sep 21 13:06:17 2010 +0200 @@ -10,7 +10,7 @@
{% trans 'create project' %}
{% trans 'preview media'%}
- {{ content.title }} + {{ content.title }} {% endfor %} diff -r f71bdd7b11f4 -r 90fd14c649bb web/ldt/ldt_utils/admin.py --- a/web/ldt/ldt_utils/admin.py Tue Sep 21 09:38:45 2010 +0200 +++ b/web/ldt/ldt_utils/admin.py Tue Sep 21 13:06:17 2010 +0200 @@ -78,4 +78,5 @@ admin.site.register(Content, ContentAdmin) +admin.site.register(Media) admin.site.register(Author) diff -r f71bdd7b11f4 -r 90fd14c649bb web/ldt/ldt_utils/models.py --- a/web/ldt/ldt_utils/models.py Tue Sep 21 09:38:45 2010 +0200 +++ b/web/ldt/ldt_utils/models.py Tue Sep 21 13:06:17 2010 +0200 @@ -47,13 +47,10 @@ class Content(models.Model): iri_id = models.CharField(max_length=1024, unique=True, default=generate_uuid, verbose_name=_('content.iri_id')) iriurl = models.CharField(max_length=1024, verbose_name=_('content.iriurl')) -# src = models.CharField(max_length=1024, null=True, blank=True, verbose_name=_('content.src')) -# videopath = models.CharField(max_length=1024, null=True, blank=True, verbose_name=_('content.videopath')) creation_date = models.DateTimeField(auto_now_add=True, verbose_name=_('content.creation_date')) update_date = models.DateTimeField(auto_now=True, verbose_name=_('content.update_date')) title = models.CharField(max_length=1024, null=True, blank=True, verbose_name=_('content.title')) description = models.TextField(null=True, blank=True, verbose_name=_('content.description')) -# external_id = models.CharField(max_length=1024, null=True, blank=True, verbose_name=_('content.external_id')) authors = models.ManyToManyField(Author, blank=True, verbose_name=_('content.authors')) duration = models.IntegerField(null=True, blank=True, verbose_name=_('content.duration')) content_creation_date = models.DateTimeField(null=True, blank=True, verbose_name=_('content.content_creation_date')) @@ -169,26 +166,26 @@ src = property(**src()) - def externalid(): #@NoSelf + def external_id(): #@NoSelf doc = """simulate externalid""" #@UnusedVariable def fget(self): if self.media_obj is None: empty_media = self.__get_empty_media() if empty_media: - return empty_media.externalid + return empty_media.external_id else: return None else: - return self.media_obj.externalid + return self.media_obj.external_id def fset(self, value): if self.media_obj is not None: - self.media_obj.externalid = value + self.media_obj.external_id = value return locals() - externalid = property(**externalid()) + external_id = property(**external_id()) diff -r f71bdd7b11f4 -r 90fd14c649bb web/ldt/ldt_utils/urls.py --- a/web/ldt/ldt_utils/urls.py Tue Sep 21 09:38:45 2010 +0200 +++ b/web/ldt/ldt_utils/urls.py Tue Sep 21 13:06:17 2010 +0200 @@ -31,6 +31,7 @@ urlpatterns += patterns('ldt.ldt_utils', url(r'^space/content/$', 'views.list_content'), url(r'^space/content/create/$', 'views.write_content'), + url(r'^space/content/update/(?P\d+)$', 'views.write_content'), url(r'^space/ldt/$', 'views.list_ldt'), url(r'^space/ldt/indexproject/(?P.*)$', 'views.indexProject'), url(r'^space/ldt/init/(?P.*)/(?P.+)$', 'views.init', name='space_ldt_init'), diff -r f71bdd7b11f4 -r 90fd14c649bb web/ldt/ldt_utils/views.py --- a/web/ldt/ldt_utils/views.py Tue Sep 21 09:38:45 2010 +0200 +++ b/web/ldt/ldt_utils/views.py Tue Sep 21 13:06:17 2010 +0200 @@ -369,14 +369,19 @@ return render_to_response('ldt/ldt_utils/copy_ldt.html', {'form':form, 'project':project}, context_instance=RequestContext(request)) -def write_content_base(request): +def write_content_base(request, id=None): + + if id: + instance_content = Content.objects.get(id=id) + instance_media = instance_content.media_obj + else: + instance_content = None + instance_media = None - logging.debug("write_content_base") form_status= 'none' if request.method =="POST": - logging.debug("write_content_base : POST") - content_form = ContentForm(request.POST, prefix="content") - media_form = MediaForm(request.POST, request.FILES, prefix="media") + content_form = ContentForm(request.POST, prefix="content", instance=instance_content) + media_form = MediaForm(request.POST, request.FILES, prefix="media", instance= instance_media) media_valid = media_form.is_valid() content_valid = content_form.is_valid() if media_valid and content_valid : @@ -483,15 +488,15 @@ form_status = 'error' else: form_status = 'empty' - content_form = ContentForm(prefix="content") - media_form = MediaForm(prefix="media") + content_form = ContentForm(prefix="content", instance=instance_content) + media_form = MediaForm(prefix="media", instance=instance_media) return content_form, media_form, form_status -def write_content(request): +def write_content(request, id=None): - content_form, media_form, form_status = write_content_base(request) + content_form, media_form, form_status = write_content_base(request, id) return render_to_response('ldt/ldt_utils/create_content.html', {'content_form': content_form, 'media_form': media_form,'form_status': form_status,'create_content_action': reverse(write_content)}, context_instance=RequestContext(request)) diff -r f71bdd7b11f4 -r 90fd14c649bb web/ldt/locale/en/LC_MESSAGES/django.mo Binary file web/ldt/locale/en/LC_MESSAGES/django.mo has changed diff -r f71bdd7b11f4 -r 90fd14c649bb web/ldt/locale/fr/LC_MESSAGES/django.mo Binary file web/ldt/locale/fr/LC_MESSAGES/django.mo has changed diff -r f71bdd7b11f4 -r 90fd14c649bb web/static/css/workspace.css --- a/web/static/css/workspace.css Tue Sep 21 09:38:45 2010 +0200 +++ b/web/static/css/workspace.css Tue Sep 21 13:06:17 2010 +0200 @@ -99,12 +99,17 @@ padding: 1px 10px 1px 93px; } -tbody .contenttitle { +.contenttitle { width: 411px; padding: 4px 10px 4px 5px; } -tbody .projecttitle { +.contenttitlelink,.contenttitlelink:link,.contenttitlelink:hover,.contenttitlelink:visited { + text-decoration: none; + color: #4F5155; +} + +.projecttitle { width: 367px; padding: 4px 10px 4px 5px; } diff -r f71bdd7b11f4 -r 90fd14c649bb web/static/js/projectscontents.js --- a/web/static/js/projectscontents.js Tue Sep 21 09:38:45 2010 +0200 +++ b/web/static/js/projectscontents.js Tue Sep 21 13:06:17 2010 +0200 @@ -168,6 +168,28 @@ }); } }); + + $('.contenttitlelink').nyroModal({ + type: 'iframe', + forceType: 'iframe', + height:500, + width:765, + bgColor: 'rgb(239, 239, 239)', + padding: 5, + titleFromIframe: false, + endRemove: function(elts, settings) { + searchCallback($("#searchcontentsinput"),"#contentslistcontainer",content_filter_url) + }, + endShowContent: function(elts, settings) { + $('#nyroModalIframe', elts.content).load(function() { + var form_status = $(this).contents().find("#content_form_status").val(); + if(form_status == 'saved') { + $.nyroModalRemove(); + } + }); + } + }); + }