Imrpove js of group page
authorverrierj
Fri, 25 Nov 2011 16:42:30 +0100
changeset 255 c6e09aec199e
parent 254 fc05fdab7c26
child 256 fd20ce3c5fbe
Imrpove js of group page
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/groupslist.html
src/ldt/ldt/ldt_utils/views.py
src/ldt/ldt/static/ldt/js/projectscontents.js
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html	Fri Nov 25 12:12:22 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html	Fri Nov 25 16:42:30 2011 +0100
@@ -17,9 +17,8 @@
 var get_group_projects_url = "{% url ldt.ldt_utils.views.get_group_projects %}";
 
 function init_events(base_node) {
-	init_events_base_projects(base_node, "{% url ldt.ldt_utils.views.popup_embed %}", null, publish_project_url, unpublish_project_url)
-	init_events_group(base_node, "{% url ldt.ldt_utils.views.popup_embed %}", groups_filter_url, project_filter_url, publish_project_url, unpublish_project_url);
-	init_events_contents(base_node, "{% url ldt.ldt_utils.views.popup_embed %}");
+	init_events_projects(base_node, "{% url ldt.ldt_utils.views.popup_embed %}", project_filter_url, publish_project_url, unpublish_project_url)
+	init_events_group(base_node, "{% url ldt.ldt_utils.views.popup_embed %}", groups_filter_url);
 }
 	
 var global_csrf_token = "{{ csrf_token }}";
@@ -61,15 +60,10 @@
             success: function(msg, textStatus, XMLHttpRequest) {
                 $('#projectslistcontainer').html(msg);
                 init_events(document);
-            },
-    		error: function(jqXHR, textStatus, errorThrown) {
-    			alert(jqXHR.responseText);
-    			resp = $.parseJSON(jqXHR.responseText);
-    			alert(resp.message);
-    		}
+            }
         });
     });
-
+    
 });
 </script>
 {% endblock %}
@@ -97,7 +91,8 @@
 	<div class="span-12 last" id="projectsdiv">
 		<div class="span-12 last titlediv" >
 			<div class="span-8 projectscontentstitle" >{% trans "The group's projects" %}</div>
-			<div class="span-4 last searchfielddiv" id="search_div" style='display:none'>
+			<div class="span-4 last searchfielddiv" >
+			    <div class="searchfield rounded"><input id="searchprojectsinput" class="searchfieldinput searchfieldinputbase" value="{% trans 'search' %}" type="text" /><img id="projectsajaxloader" class="searchajaxloader" src="{{LDT_MEDIA_PREFIX}}/img/ajax-loader-16x16.gif" alt="loader"/><img id="projecsclear" class="searchclear" src="{{LDT_MEDIA_PREFIX}}img/clear-left.png"/></div>
 			</div>
 		</div>
 		<div class="span-12 last projectscontentsdiv" id="projectslistcontainer">
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/groupslist.html	Fri Nov 25 12:12:22 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/groupslist.html	Fri Nov 25 16:42:30 2011 +0100
@@ -10,6 +10,8 @@
 	{% for group in groups %}
 	<tr class="imageline {% cycle 'projectscontentsoddline' 'projectscontentsevenline'%} update_group_projects" id="{{ group.id }}">
 
+		
+
 		{% if user.is_regular %}
 			{% if group.change %}
 			   <td class="cellimg"><a class="grouplink create_group" title="{% trans "Change this group"%}" href="{% url ldt.ldt_utils.views.update_group group.id %}">c</a></td>
@@ -22,7 +24,7 @@
 			<td class="cellimg"></td>
 			<td>{{ group.name }}</td>
 		{% endif %}
-
+		
 		<td class="align_right"><img src="{{LDT_MEDIA_PREFIX}}/img/control_play.png" class="next_icon"/></td>
 		
 		</tr>
--- a/src/ldt/ldt/ldt_utils/views.py	Fri Nov 25 12:12:22 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/views.py	Fri Nov 25 16:42:30 2011 +0100
@@ -163,11 +163,8 @@
     show_username = False
     
     if id_group > 0:
-        # Get group, user and project_list
-        grp = Group.objects.get(id=id_group)  #@UndefinedVariable
-        users = User.objects.filter(groups__in=[grp]) #@UndefinedVariable
-        query &= Q(owner__in=users) #@UndefinedVariable
-        project_list = Project.safe_objects.filter(query).extra(select={'lower_title': 'lower(title)'}).order_by('owner__username', 'lower_title') #@UndefinedVariable
+        grp = Group.objects.get(id=id_group)
+        project_list = get_objects_for_group(grp, 'ldt_utils.view_project')
         show_username = True
     else :
         project_list = Project.safe_objects.filter(query) #@UndefinedVariable
@@ -1353,7 +1350,7 @@
 @login_required
 def leave_group(request, group_id, redirect=True):
     if not request.user.is_regular:
-        return HttpResponseServerError('<h1>User can leave a group.</h1>')
+        return HttpResponseServerError('<h1>User can not leave a group.</h1>')
     
     group = get_object_or_404(Group, id=group_id)
     redirect = boolean_convert(redirect)
--- a/src/ldt/ldt/static/ldt/js/projectscontents.js	Fri Nov 25 12:12:22 2011 +0100
+++ b/src/ldt/ldt/static/ldt/js/projectscontents.js	Fri Nov 25 16:42:30 2011 +0100
@@ -147,7 +147,6 @@
             var filterVal = "_" + escape(target.realVal());
             url = url.replace('__FILTER__',filterVal);
             url = url.replace('__ID_GROUP__',$('#id_group').val());
-            alert(url);
             $.ajax({
                 url: url,
                 cache: false,
@@ -182,7 +181,7 @@
         closeOnClick:false,
         callbacks: {
             afterClose: function(nm) {
-                searchCallback($('#searchprojectsinput'), "#contentslistcontainer", content_filter_url);
+                searchCallback($('#searchprojectsinput'), "#contentslistcontainer", content_filter_url, 0);
             },
             afterShowCont: function(nm) {
                 nm.store.iframe.load(function() {
@@ -234,7 +233,7 @@
     
 }
 
-function init_modal_window (class_name, windowW, windowH, frameW, frameH, base_node, searchprojectfilterurl, container) {
+function init_modal_window (class_name, windowW, windowH, frameW, frameH, base_node, searchprojectfilterurl) {
     $(class_name,base_node).each(function(i){
         $(this).attr("target","_iri");
     });
@@ -262,12 +261,9 @@
                 nm.store.iframe.width(frameW);
                 nm.store.iframe.height(frameH);
             },
-            close: function(nm) {
-                // We don't do anything here, we hack the callback directly from the close function.
-            },
             afterClose: function(nm) {
                 // Can't do that because searchprojectfilterurl is not defined in init_events_base params
-            	searchCallback($('#searchprojectsinput'), container, searchprojectfilterurl, 0);
+            	searchCallback($('#searchprojectsinput'), "#projectslistcontainer", searchprojectfilterurl, 0);
             }
         }
     });
@@ -282,11 +278,10 @@
 
 function init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) {
 
-    init_modal_window ('.ldt_link_open_ldt', 1035, 670, 1025, 660, base_node, searchprojectfilterurl, "#projectslistcontainer");
-    init_modal_window ('.ldt_link_create_project', 950, 1200, 940, 790, base_node, searchprojectfilterurl, "#projectslistcontainer");
-    init_modal_window ('.ldt_link_copy_project', 500, 150, 500, 150, base_node, searchprojectfilterurl, "#projectslistcontainer");
-    init_modal_window ('.create_group', 520, 530, 510, 520, base_node, 'http://localhost/pfgroup/ldtplatform/ldt/filtergroups/_', "#groupslistcontainer");
-     
+    init_modal_window ('.ldt_link_open_ldt', 1035, 670, 1025, 660, base_node, searchprojectfilterurl);
+    init_modal_window ('.ldt_link_create_project', 950, 700, 940, 690, base_node, searchprojectfilterurl);
+    init_modal_window ('.ldt_link_copy_project', 500, 150, 500, 150, base_node, searchprojectfilterurl);
+    
     $('.publishedproject', base_node).click(function(e) {
         e.preventDefault();
         display_loading_icon($(this));
@@ -334,7 +329,7 @@
         filters: ['iframe'],
         sizes: {
             minW: '950',
-            minH: '710'
+            minH: '740'
         },
         closeOnClick:false,
         callbacks: {
@@ -351,22 +346,59 @@
                   });
 
                 nm.store.iframe.width(940);
-                nm.store.iframe.height(700);
+                nm.store.iframe.height(630);
             }
         }
     });
     
 }
 
-function init_events_group (base_node, groupfilter_url) {
-	
-	
-	
-	
+function display_loading_icon (project) {
+	project.attr('src', LDT_MEDIA_PREFIX + "img/ajax-loader-transp.gif");
 }
 
-function display_loading_icon (project) {
-	project.attr('src', LDT_MEDIA_PREFIX + "img/ajax-loader-transp.gif");
+function init_events_group (base_node, embed_url, groupfilterurl) {
+		
+    $('.create_group',base_node).each(function(i){
+        $(this).attr("target","_iri");
+    });
+
+    $('.create_group',base_node).nyroModal({
+        filters: ['iriIframe'],
+        sizes: {
+            minW: '520',
+            minH: '530'
+        },
+        showCloseButton: true,
+        closeOnEscape:false,
+        closeOnClick:false,
+        callbacks: {
+            afterShowCont: function(nm) {
+                var iframe = nm.store.iframe;
+                iframe.load(function(){
+                    var form_status = $(this).contents().find("#project_form_status").val(); 
+                    if(form_status === 'saved' || form_status === 'deleted' ) {
+                        $.nmTop().close();
+                    }
+                        
+                });  
+                nm.store.iframe.width(510);
+                nm.store.iframe.height(520);
+            },
+            afterClose: function(nm) {
+            	searchCallback($("#searchprojectsinput"), $("#groupslistcontainer"), groupfilterurl, 0);
+            }
+        }
+    });
+    
+    
+    $('.create_group',base_node).each(function(i, e) {
+        nm = $(e).data('nmObj');
+        $(e).data('nmObj', $.extend(true, nm, {
+            close: testAndClose(nm.close)
+        }));
+    });
+    
 }
 
 function init_events_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl) {
@@ -379,6 +411,7 @@
     init_events_base_projects(base_node, embed_url, searchprojectfilterurl, publishprojecturl, unpublishprojecturl);
 }
 
+
 function searchFieldInit(input_list_init) {
 
     $(".searchfieldinputbase").keydown(function (e) {