remove group creation/modification popup
authorrougeronj
Tue, 16 Oct 2012 17:24:01 +0200
changeset 880 05b224ff82e8
parent 857 3fc0960ae97b
child 881 214e220dfab9
remove group creation/modification popup
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_group.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/permissions.html
src/ldt/ldt/ldt_utils/urls.py
src/ldt/ldt/ldt_utils/views/group.py
--- 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,