--- 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
Binary file web/franceculture/locale/fr/LC_MESSAGES/django.mo has changed
--- 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 @@
<tr class="imageline {% cycle 'projectscontentsoddline' 'projectscontentsevenline'%}">
<td class="cellimg"><div class="cellimgdiv"><img src="{{MEDIA_URL}}/img/document_add.gif" title="{% trans 'create project' %}" alt="{% trans 'create project' %}" href="{% url ldt.ldt_utils.views.create_project content.iri_id %}" class="ldt_link_create"/></div></td>
<td class="cellimg"><div class="cellimgdiv"><img alt="{% trans 'preview media'%}" title="{% trans 'preview media'%}" src="{{MEDIA_URL}}/img/control_play.gif" href="{% url ldt.ldt_utils.views.index content.iri_id %}" class="ldt_link"/></div></td>
- <td class="contenttitle">{{ content.title }}</td>
+ <td class="contenttitle"><a class="contenttitlelink" href="{% url ldt.ldt_utils.views.write_content id=content.id %}">{{ content.title }}</a></td>
</tr>
{% endfor %}
</tbody>
--- 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)
--- 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())
--- 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<id>\d+)$', 'views.write_content'),
url(r'^space/ldt/$', 'views.list_ldt'),
url(r'^space/ldt/indexproject/(?P<id>.*)$', 'views.indexProject'),
url(r'^space/ldt/init/(?P<method>.*)/(?P<url>.+)$', 'views.init', name='space_ldt_init'),
--- 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))
Binary file web/ldt/locale/en/LC_MESSAGES/django.mo has changed
Binary file web/ldt/locale/fr/LC_MESSAGES/django.mo has changed
--- 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;
}
--- 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();
+ }
+ });
+ }
+ });
+
}