# HG changeset patch # User grandjoncl # Date 1348137782 -7200 # Node ID 12ba862f33fa3f31fe600ad43dbcfe2313960ba4 # Parent 015f40d64d43b936b1df0984bea805844e5b4d62 Creation of a page instead of pop up for the content creation, update and suppression Suppression of the "more option" bloc diff -r 015f40d64d43 -r 12ba862f33fa src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Thu Sep 20 12:35:15 2012 +0200 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html Thu Sep 20 12:43:02 2012 +0200 @@ -1,16 +1,15 @@ -{% extends "ldt/ldt_raw_base.html" %} +{% extends "ldt/ldt_utils/workspace_base.html" %} +{% load i18n %} -{% load i18n %} {# form of creation of content #} + {# form of creation of content #} {% load adminmedia %} {% block js_import %} {{ block.super }} - - @@ -18,15 +17,6 @@ {{ content_form.media.js }} {% endblock %} -{% block css_import %} - {{ block.super }} - {{ content_form.media.css }} - - - - -{% endblock %} - {% block js_declaration %} {% endblock %} -{% block body %} +{% block css_import %} + {{ block.super }} + {#{ content_form.media.css }#} + +{% endblock %} +{% block content %} {% if media_form.errors %}

{% trans "The operation could not be performed because one or more error(s) occurred.
Please resubmit the media form after making the following changes:" %}

@@ -121,9 +110,6 @@
-
{% trans 'More options' %}
- - +
@@ -142,7 +127,7 @@  
- + {% if iri_id %}{% endif %}
diff -r 015f40d64d43 -r 12ba862f33fa src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/error_confirm.html --- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/error_confirm.html Thu Sep 20 12:35:15 2012 +0200 +++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/error_confirm.html Thu Sep 20 12:43:02 2012 +0200 @@ -1,4 +1,4 @@ -{% extends "ldt/ldt_raw_base.html" %} +{% extends "ldt/ldt_utils/workspace_base.html" %} {% load i18n %} {# form of creation of content #} @@ -11,24 +11,11 @@ {% block css_import %} {{ block.super }} {{ content_form.media.css }} - {% endblock %} -{% block js_declaration %} - -{% endblock %} - -{% block body %} +{% block content %}
{% if errors|length > 0 %}{% trans "error" %}{% else %}{% trans "confirm" %}{% endif %}
@@ -45,15 +32,12 @@
- {% if errors|length > 0 %} - - {% else %}
{% csrf_token %} - - + + {% if errors|length <= 0 %}{% endif %}
- {% endif %} +
diff -r 015f40d64d43 -r 12ba862f33fa src/ldt/ldt/ldt_utils/views/content.py --- a/src/ldt/ldt/ldt_utils/views/content.py Thu Sep 20 12:35:15 2012 +0200 +++ b/src/ldt/ldt/ldt_utils/views/content.py Thu Sep 20 12:43:02 2012 +0200 @@ -5,7 +5,7 @@ from django.forms.models import model_to_dict from django.forms.util import ErrorList from django.http import HttpResponse -from django.shortcuts import render_to_response +from django.shortcuts import render_to_response, redirect from django.template import RequestContext from django.utils.translation import ugettext as _, ungettext from ldt.ldt_utils.forms import ContentForm, MediaForm @@ -26,8 +26,8 @@ import math import requests import django.utils.simplejson as simplejson -import urlparse - +import urlparse + def write_content_base(request, iri_id=None): if iri_id: instance_content = Content.safe_objects.get(iri_id=iri_id) #@UndefinedVariable @@ -59,21 +59,23 @@ return dict([('%s-%s' % (prefix, key), value) for key,value in _dict.items()]) content_instance_val = add_prefix(content_instance_val, "content") - media_instance_val= add_prefix(media_instance_val, "media") - + media_instance_val= add_prefix(media_instance_val, "media") + src_video=request.POST.get('media-src') for k in request.POST.keys(): value = request.POST.get(k) content_instance_val[k] = value media_instance_val[k] = value + logging.debug("keys : "+k+"value : "+value+" Louiselogging") content_instance_val['read_list'] = request.POST.getlist('read_list') content_instance_val['write_list'] = request.POST.getlist('write_list') content_instance_val['share'] = request.POST.get('share', True) - + content_form = ContentForm(content_instance_val, prefix="content", instance=instance_content) media_form = MediaForm(media_instance_val, request.FILES, prefix="media", instance=instance_media) picture_form = PictureForm(None, request.POST, request.FILES) + if request.user.is_staff: content_form.fields['front_project'].queryset = Project.objects.filter(contents__in=[instance_content]) @@ -241,7 +243,6 @@ content.save() picture_form.model = content picture_form.save() - form_status = 'saved' media_form = MediaForm(instance=media, prefix="media") content_form = ContentForm(instance=content, prefix="content") @@ -269,7 +270,8 @@ return content_form, media_form, picture_form, form_status, current_front_project @login_required -def write_content(request, iri_id=None): +def write_content(request, iri_id=None): + case=0 submit_action = request.REQUEST.get("submit_button", False) member_list = admin_list = [] current_front_project = None @@ -288,28 +290,38 @@ form_status = "deleted" content_form = ContentForm() media_form = MediaForm() - picture_form = PictureForm() + picture_form = PictureForm() + elif submit_action=="close": + return redirect("root-view") else: content_form, media_form, picture_form, form_status, current_front_project = write_content_base(request, iri_id) if iri_id: + case=2 member_list, admin_list = get_userlist_model(Content.objects.get(iri_id=iri_id), request.user) - + if iri_id: create_content_action = reverse('ldt.ldt_utils.views.content.write_content', kwargs={'iri_id':iri_id}) img_container = content_form.instance + else: create_content_action = reverse('ldt.ldt_utils.views.content.write_content') img_container = '' + case=1 session_key = request.COOKIES[settings.SESSION_COOKIE_NAME] cookie_name = settings.SESSION_COOKIE_NAME # Media.safe_objects.all() does not return the good list of media, so we get them from the Content.safe_objects content_form.fields["media_obj"].queryset = Media.objects.filter(id__in=Content.safe_objects.values_list('media_obj', flat=True)) - 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': create_content_action, + if form_status=='saved' or form_status=='deleted': + return redirect("root-view") + else: + return render_to_response('ldt/ldt_utils/create_content.html', {'content_form': content_form, 'media_form': media_form, 'form_status': form_status, 'create_content_': create_content_action, 'elem_list': get_userlist(request.user), 'member_list': member_list, 'admin_list': admin_list, 'iri_id': iri_id, 'session_key':session_key, 'cookie_name':cookie_name, 'img_container': img_container, 'profile_picture_form': picture_form, 'current_front_project':current_front_project}, context_instance=RequestContext(request)) + #else : + # @login_required def prepare_delete_content(request, iri_id=None): @@ -482,3 +494,22 @@ else: title=data['title'] return title + +def get_image_json(src_video, data): + if 'youtube' in src_video: + lien=data['data']['thumbnail']['sqDefault'] + filename=""+data['data']['id']+".jpg" + download_path=settings.MEDIA_ROOT+"thumbnails/contents/" + file_path = "%s\%s" % (download_path, filename) + video_thumbnail = file(file_path, "wb") + image_web=urllib2.urlopen(lien) + while True: + buf = image_web.read(65536) + if len(buf) == 0: + break + video_thumbnail.write(buf) + video_thumbnail.close() + image_web.close() + return file_path + + diff -r 015f40d64d43 -r 12ba862f33fa src/ldt/ldt/static/ldt/js/projectscontents.js --- a/src/ldt/ldt/static/ldt/js/projectscontents.js Thu Sep 20 12:35:15 2012 +0200 +++ b/src/ldt/ldt/static/ldt/js/projectscontents.js Thu Sep 20 12:43:02 2012 +0200 @@ -210,73 +210,6 @@ searchCallback($("#searchcontentsinput"),"#contentslistcontainer",content_filter_url,0,0); }); - $('.content_link_create').each(function(i){ - $(this).attr("target","_blank"); - }); - $('.content_link_create').nyroModal({ - filters: ['iframe'], - sizes: { - minW: 740, - minH: 490 - }, - closeOnClick:false, - callbacks: { - afterClose: function(nm) { - searchCallback($('#searchcontentsinput'), "#contentslistcontainer", content_filter_url, 0); - if (project_filter_url != 'undefined') { - // Used when an admin creates a content, the list of project has to be refreshed for the front project - searchCallback($('#searchprojectsinput'), "#projectslistcontainer", project_filter_url, 0); - } - }, - afterShowCont: function(nm) { - nm.store.iframe.load(function() { - var form_status = $(this).contents().find("#content_form_status").val(); - if(form_status === 'saved' || form_status === 'deleted' ) { - $.nmTop().close(); - } - }); - - nm.store.iframe.width(730); - nm.store.iframe.height(480); - } - } - }); - $('.content_link_create',base_node).each(function(i, e) { - nm = $(e).data('nmObj'); - $(e).data('nmObj', $.extend(true, nm, { - close: testCreateAndClose(nm, nm.close) - })); - }); - - $('.contenttitlelink').each(function(i){ - $(this).attr("target","_blank"); - }); - - $('.contenttitlelink').nyroModal({ - filters: ['iframe'], - sizes: { - minW: 740, - minH: 490 - }, - closeOnClick:false, - callbacks: { - afterClose: function(nm) { - searchCallback($("#searchcontentsinput"),"#contentslistcontainer",content_filter_url,0); - }, - afterShowCont: function(nm) { - nm.store.iframe.load(function() { - var form_status = $(this).contents().find("#content_form_status").val(); - if(form_status === 'saved' || form_status === 'deleted') { - $.nmTop().close(); - } - }); - - nm.store.iframe.width(730); - nm.store.iframe.height(480); - } - } - }); - } function init_modal_window (class_name, windowW, windowH, frameW, frameH, base_node, searchprojectfilterurl) { @@ -751,10 +684,9 @@ $('#id_content-title').val(data.entry.title.$t); } $('#media_field_create').append('Youtube Thumbnail'); - $('#media_fields_div').height(150); + $('#media_fields_div').height(150); } }); - } } else if(url.match("vimeo")){