Creation of a page instead of pop up for the content creation, update and suppression
Suppression of the "more option" bloc
--- 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 }}
<script type="text/javascript" src="{{ADMIN_MEDIA_PREFIX}}js/core.js" ></script>
<script type="text/javascript" src="{{ADMIN_MEDIA_PREFIX}}js/jquery.min.js"></script>
- <script type="text/javascript" src="{{ADMIN_MEDIA_PREFIX}}js/jquery.init.js"></script>
<script type="text/javascript" src="{% url ldt.jsi18n packages='ldt' %}" ></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/projectscontents.js"></script>
- <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.nyroModal.min.js"></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.textchange.min.js"></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery-ui.min.js"></script>
<script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/swfupload/swfupload.js"></script>
@@ -18,15 +17,6 @@
{{ content_form.media.js }}
{% endblock %}
-{% block css_import %}
- {{ block.super }}
- {{ content_form.media.css }}
- <link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/ldtform.css" />
- <link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/workspace.css" />
- <link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/jq-css/themes/base/jquery-ui.css" />
-
-{% endblock %}
-
{% block js_declaration %}
<script type="text/javascript">
window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}";
@@ -46,27 +36,26 @@
"{% url ldt.ldt_utils.views.content.remove_temp_file %}",
"{% url ldt.ldt_utils.views.content.get_duration %}");
- $("#moreoptions").click(function () {
- var container = $("#moreoptionscontainer");
-
- if (container.is(':visible')) {
- $("#moreoptionscontainer").hide();
- $("#moreoptions").html("{% trans 'more options' %}");
- resize_modal_window($("#add_content"));
- } else {
- $("#moreoptionscontainer").show();
- $("#moreoptions").html("{% trans 'hide' %}");
- resize_modal_window($("#add_content"));
- }
- });
-
});
+ function stopRKey(evt) {
+ var evt = (evt) ? evt : ((event) ? event : null);
+ var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
+ if ((evt.keyCode == 13) && (node.type=="text")) {return false;}
+ }
+
+ document.onkeypress = stopRKey;
+
</script>
{% endblock %}
-{% block body %}
+{% block css_import %}
+ {{ block.super }}
+ {#{ content_form.media.css }#}
+ <link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/ldtform.css" />
+{% endblock %}
+{% block content %}
{% if media_form.errors %}
<div id="media-form-error">
<p>{% trans "The operation could not be performed because one or more error(s) occurred.<br />Please resubmit the media form after making the following changes:" %}</p>
@@ -121,9 +110,6 @@
</div>
</div>
- <div id="moreoptions">{% trans 'More options' %}</div>
- <div id="moreoptionscontainer" style="display: none;">
-
{% if iri_id and user.is_staff %}
<div>{% trans 'Actual front project' %} : {{ current_front_project }}
{{ content_form.front_project.label_tag }}{{ content_form.front_project }}</div>
@@ -132,8 +118,7 @@
{% endif %}
{% include "ldt/ldt_utils/partial/picture.html"%}
{% include "ldt/ldt_utils/partial/permissions.html" %}
- </div>
-
+
<div id="submitcontent" class="span-18 last">
<div id="submitcontent-loader" class="span-10">
@@ -142,7 +127,7 @@
<span> </span>
</div>
<div id="submitcontent-buttons" class="span-8 last">
- <button id="close_button" value="close">{% trans 'close_cancel' %}</button>
+ <button type="submit" value="close" name="submit_button" id="submit_button_close">{% trans 'close_cancel' %}</button>
{% if iri_id %}<button type="submit" value="prepare_delete" name="submit_button">{% trans "delete" %}</button>{% endif %}
<button type="submit" value="write" name="submit_button" id="submit_button_write">{% trans "write" %}</button>
</div>
--- 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 }}
- <link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/ldt.css" />
<link rel="stylesheet" href="{{LDT_MEDIA_PREFIX}}css/ldtform.css" />
{% endblock %}
-{% block js_declaration %}
- <script type="text/javascript">
- $(document).ready(function() {
- resize_modal_window("#error", false);
-
- $("#close_button").click(function(e) {
- parent.$.nmTop().close();
- });
- });
- </script>
-{% endblock %}
-
-{% block body %}
+{% block content %}
<div id="error">
<div class="projectscontentstitle">{% if errors|length > 0 %}{% trans "error" %}{% else %}{% trans "confirm" %}{% endif %}</div>
@@ -45,15 +32,12 @@
<div id="submitcontent" >
<div id="submitcontent-buttons" >
- {% if errors|length > 0 %}
- <button id="close_button" value="close">{% trans 'close_error' %}</button>
- {% else %}
<form method="post" enctype="application/x-www-form-urlencoded" action="{{ delete_action }}">
{% csrf_token %}
- <button id="close_button" value="close">{% trans 'close_cancel' %}</button>
- <button type="submit" value="delete" name="submit_button" id="submit_button">{% trans "do_delete" %}</button>
+ <button type = "submit" value="close" name="submit_button" id="close_button">{% trans 'close_cancel' %}</button>
+ {% if errors|length <= 0 %}<button type="submit" value="delete" name="submit_button" id="submit_button">{% trans "do_delete" %}</button>{% endif %}
</form>
- {% endif %}
+
</div>
</div>
--- 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
+
+
--- 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('<img id="external_thumbnail" src="'+data.entry.media$group.media$thumbnail[0].url+'" alt="Youtube Thumbnail"/>');
- $('#media_fields_div').height(150);
+ $('#media_fields_div').height(150);
}
});
-
}
}
else if(url.match("vimeo")){