--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_group.html Tue Oct 16 13:14:56 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_group.html Tue Oct 16 17:24:01 2012 +0200
@@ -1,12 +1,11 @@
-{% extends "ldt/ldt_raw_base.html" %}
+{% extends "ldt/ldt_utils/workspace_base.html" %}
+{% load i18n %}
-{% load i18n %}
{% load adminmedia %}
{% load thumbnail %}
{% block js_import %}
{{ block.super }}
- <script type="text/javascript" src="{{LDT_MEDIA_PREFIX}}js/jquery.nyroModal.min.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/tiny_mce/tiny_mce.js"></script>
@@ -25,28 +24,8 @@
{% block js_declaration %}
{{ block.super }}
<script type="text/javascript">
-
- tinyMCE.init({
- plugins : '-example',
- mode : "textareas",
- theme : "advanced",
- language : "{{ LANGUAGE_CODE }}",
- theme_advanced_buttons1 : "bold,italic,underline,separator,justifyleft,justifycenter,justifyfull,undo,redo,link,unlink",
- theme_advanced_buttons2 : "",
- theme_advanced_buttons3 : "",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "left",
- width: "250",
- height: "150",
- entity_encoding : "raw"
- });
$(document).ready(function() {
- $("#close_button").click(function (e) {
- e.preventDefault();
- parent.$.nmTop().close();
- });
-
$("#ldt_submit_delete").click(function(e){
$(this).addClass("e-clicked");
});
@@ -63,16 +42,13 @@
$( this ).find("button[type=submit]").removeClass("e-clicked");
});
-
var search_url = "{% url ldt.ldt_utils.views.workspace.share_filter filter='__FILTER__' use_groups='false' %}";
- resize_modal_window($("#add_group"));
-
});
</script>
{% endblock %}
-{% block body %}
+{% block content %}
<div id="add_group" class="span-18 last">
<div class="projectscontentstitle span-18 last">{% if group_id %}{% trans "Update a group" %}{% else %}{% trans "Create a group" %}{% endif %}</div>
@@ -96,9 +72,9 @@
{% include "ldt/ldt_utils/partial/permissions.html" %}
{% include "ldt/ldt_utils/partial/picture.html"%}
-
+
<div id="submitcontent-buttons" class="span-12 last">
- <button type="button" id="close_button" value="close">{% trans "close_cancel" %}</button>
+ <button class="button" id="close_button" type="submit" value="close" name="submit_button">{% trans "close_cancel" %}</button>
{% if group_id %}
<button class="button" style="float:right; margin-left:4px" id="ldt_submit_update" type="submit" value="update" name="submit_button">{% trans "update_group" %}</button>
{% if is_owner_group %}
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html Tue Oct 16 13:14:56 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html Tue Oct 16 17:24:01 2012 +0200
@@ -19,7 +19,6 @@
function init_events(base_node) {
init_events_projects(base_node, "{% url ldt.ldt_utils.views.workspace.popup_embed %}", project_filter_url, publish_project_url, unpublish_project_url)
- init_events_groups(base_node, "{% url ldt.ldt_utils.views.workspace.popup_embed %}", groups_filter_url);
}
var global_csrf_token = "{{ csrf_token }}";
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/permissions.html Tue Oct 16 13:14:56 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/permissions.html Tue Oct 16 17:24:01 2012 +0200
@@ -121,8 +121,10 @@
<div id="permissioncontainer" class="append-bottom clear" {% if media_form and media_form.media_public.value %}style="display: none;"{% endif %}>
<div id="elemslistcontainer" clas="span-9">
+ {% if media_form %}
<div id="content_public">{{ content_form.is_public }}<label>{% trans "publish the title on the front" %}</label></div>
<br />
+ {% endif %}
<div id="elemslistheader">
{% trans "User and group list" %}<br />
<div class="searchfield span-4">
@@ -147,7 +149,9 @@
<a href="#" id="selectelems"><img src="{{LDT_MEDIA_PREFIX}}img/to-right.gif" title="{% trans "select users" %}"></a><br />
<a href="#" id="removeelems"><img src="{{LDT_MEDIA_PREFIX}}img/to-left.gif" title="{% trans "remove users" %}"></a>
</div>
+ {% if media_form %}
<br /> <br />
+ {% endif %}
<div id="selectedlistcontainer" class="span-9 last">
<div id="selectedlistheader" >
{% trans "Members list" %}
--- a/src/ldt/ldt/ldt_utils/urls.py Tue Oct 16 13:14:56 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/urls.py Tue Oct 16 17:24:01 2012 +0200
@@ -9,7 +9,7 @@
url(r'^searchInit/(?P<field>.*)/(?P<query>.*)$', 'views.lignesdetemps.search_init'),
url(r'^searchForm/$', 'views.workspace.search_form'),
url(r'^published/$', 'views.workspace.published_project'),
- url(r'^groups/$', 'views.workspace.groups'),
+ url(r'^groups/$', 'views.workspace.groups', name="groups-view"),
url(r'^get_group_projects/$', 'views.group.get_group_projects'),
url(r'^search/$', 'views.workspace.search_index'),
url(r'^search/(?P<field>.*)/(?P<query>.*)$', 'views.lignesdetemps.search_index_get'),
--- a/src/ldt/ldt/ldt_utils/views/group.py Tue Oct 16 13:14:56 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/views/group.py Tue Oct 16 17:24:01 2012 +0200
@@ -2,13 +2,14 @@
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import Group
from django.http import HttpResponseServerError
-from django.shortcuts import render_to_response, get_object_or_404
+from django.shortcuts import render_to_response, get_object_or_404, redirect
from django.template import RequestContext
from ldt.ldt_utils.forms import GroupAddForm
from guardian.shortcuts import remove_perm, get_objects_for_group, get_objects_for_user
from ldt.security.utils import add_change_attr, get_userlist, get_userlist_group
from ldt.security.cache import get_cached_checker, cached_assign
from ldt.user.forms import PictureForm
+import logging
@login_required
@@ -41,37 +42,43 @@
if request.method == 'POST':
form = GroupAddForm(request.POST)
picture_form = PictureForm(None, request.POST, request.FILES)
-
- if form.is_valid():
- name = form.cleaned_data['name']
- members_list = form.cleaned_data['read_list']
- admin_list = form.cleaned_data['write_list']
-
- group = Group.objects.create(name=name)
- group.save()
- group.profile.description = form.cleaned_data['description']
- group.profile.save()
-
- picture_form.model = group
- if picture_form.is_valid():
- picture_form.save()
-
- cached_assign('is_owner_group', request.user, group)
- cached_assign('change_group', request.user, group)
- request.user.groups.add(group)
-
- for elem in members_list:
- if hasattr(elem, 'username'):
- elem.groups.add(group)
- if elem in admin_list:
- cached_assign('change_group', elem, group)
- form_status = 'saved'
- else:
- group.delete()
-
+ submit_action = request.REQUEST.get("submit_button", False)
+
+ if submit_action == 'close':
+ return redirect("groups-view")
+ else:
+ if form.is_valid():
+ name = form.cleaned_data['name']
+ members_list = form.cleaned_data['read_list']
+ admin_list = form.cleaned_data['write_list']
+
+ group = Group.objects.create(name=name)
+ group.save()
+ group.profile.description = form.cleaned_data['description']
+ group.profile.save()
+
+ picture_form.model = group
+ if picture_form.is_valid():
+ picture_form.save()
+
+ cached_assign('is_owner_group', request.user, group)
+ cached_assign('change_group', request.user, group)
+ request.user.groups.add(group)
+
+ for elem in members_list:
+ if hasattr(elem, 'username'):
+ elem.groups.add(group)
+ if elem in admin_list:
+ cached_assign('change_group', elem, group)
+ form_status = 'saved'
+ else:
+ group.delete()
else:
form = GroupAddForm()
picture_form = PictureForm()
+
+ if form_status == 'saved':
+ return redirect("groups-view")
return render_to_response("ldt/ldt_utils/create_group.html", {'group_edition': True, 'form' : form, 'form_status' : form_status,
'elem_list' : get_userlist(request.user), 'profile_picture_form': picture_form}, context_instance=RequestContext(request))
@@ -97,6 +104,8 @@
if is_owner_group:
group.delete()
form_status = 'deleted'
+ elif submit_action == 'close':
+ return redirect("groups-view")
else:
if form.is_valid() and picture_form.is_valid():
name = form.cleaned_data['name']
@@ -130,12 +139,11 @@
form = GroupAddForm(initial={'name':unicode(group.name)})
picture_form = PictureForm()
- if form_status != 'deleted':
+ if form_status == 'deleted' or form_status == 'saved':
+ return redirect("groups-view")
+ else:
member_list, admin_list = get_userlist_group(group, request.user)
profile_image = group.profile
- else:
- member_list = admin_list = []
- profile_image = ''
return render_to_response("ldt/ldt_utils/create_group.html", {'group_id' : group_id, 'form' : form, 'form_status' : form_status, 'group_edition': True,
'elem_list' : get_userlist(request.user), 'member_list': member_list, 'admin_list': admin_list,