Field is_regular can be changed in admin pages, non regular users cann not change, edit or create groups
authorverrierj
Thu, 24 Nov 2011 16:13:56 +0100
changeset 252 83eea387fe59
parent 251 81417fd477b0
child 253 e961589fc0a7
Field is_regular can be changed in admin pages, non regular users cann not change, edit or create groups
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/user/admin.py
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html	Thu Nov 24 15:32:19 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html	Thu Nov 24 16:13:56 2011 +0100
@@ -17,7 +17,9 @@
 var get_group_projects_url = "{% url ldt.ldt_utils.views.get_group_projects %}";
 
 function init_events(base_node) {
-	init_events_all(base_node, "{% url ldt.ldt_utils.views.popup_embed %}", groups_filter_url, project_filter_url, publish_project_url, unpublish_project_url);
+	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 %}");
 }
 	
 var global_csrf_token = "{{ csrf_token }}";
@@ -83,7 +85,9 @@
 	    <div class="span-12 last titlediv" >
 			<div class="span-8 projectscontentstitle">{% trans "My groups" %}</div>
 			<div class="span-4 last searchfielddiv" >
-				<a class="create_group" href="{% url ldt.ldt_utils.views.create_group %}"><img class='icon_title' src="{{LDT_MEDIA_PREFIX}}img/film_add.png" alt="{% trans 'Create content' %}" title="{% trans 'Create group' %}" /></a>
+				{% if user.is_regular %}
+				<a class="create_group" href="{% url ldt.ldt_utils.views.create_group %}"><img class='icon_title' src="{{LDT_MEDIA_PREFIX}}img/film_add.png" alt="{% trans 'Create group' %}" title="{% trans 'Create group' %}" /></a>
+				{% endif %}
 			</div>
 		</div>
 		<div class="span-12 last projectscontentsdiv" id="groupslistcontainer">
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/groupslist.html	Thu Nov 24 15:32:19 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/groupslist.html	Thu Nov 24 16:13:56 2011 +0100
@@ -10,6 +10,7 @@
 	{% 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>
 			   <td><b>{{ group.name }}</b></td>
@@ -17,6 +18,10 @@
 			    <td class="cellimg"><a class="grouplink" title="{% trans "Leave this group" %}" href="{% url ldt.ldt_utils.views.leave_group group.id %}">l</a></td>
 			    <td>{{ group.name }}</td>
 			{% endif %}
+		{% else %}
+			<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>
 		
--- a/src/ldt/ldt/ldt_utils/views.py	Thu Nov 24 15:32:19 2011 +0100
+++ b/src/ldt/ldt/ldt_utils/views.py	Thu Nov 24 16:13:56 2011 +0100
@@ -1264,6 +1264,8 @@
 
 @login_required
 def create_group(request):
+    if not request.user.is_regular:
+        return HttpResponseServerError('<h1>User can leave a group.</h1>')
     user_list = User.objects.exclude(id=settings.ANONYMOUS_USER_ID).exclude(id=request.user.id)
     form_status = ''
     
@@ -1293,7 +1295,9 @@
     return render_to_response("ldt/ldt_utils/create_group.html", {'form' : form, 'form_status' : form_status, 'user_list' : user_list, 'admin_list': user_list}, context_instance=RequestContext(request))
 
 @login_required
-def update_group(request, group_id): 
+def update_group(request, group_id):
+    if not request.user.is_regular:
+        return HttpResponseServerError('<h1>User can leave a group.</h1>')
     
     group = get_object_or_404(Group, id=group_id)    
     user_list = User.objects.exclude(id=settings.ANONYMOUS_USER_ID).exclude(id=request.user.id)
@@ -1348,6 +1352,9 @@
 
 @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>')
+    
     group = get_object_or_404(Group, id=group_id)
     redirect = boolean_convert(redirect)
     
--- a/src/ldt/ldt/user/admin.py	Thu Nov 24 15:32:19 2011 +0100
+++ b/src/ldt/ldt/user/admin.py	Thu Nov 24 16:13:56 2011 +0100
@@ -5,12 +5,13 @@
 from django.utils.translation import ugettext as _
 from forms import LdtForm
 from guardian.admin import GuardedModelAdmin
-from models import Ldt
-
+from models import Ldt, UserProfile
 
 class GroupAdmin(GuardedModelAdmin):
     pass
 
+class UserProfileInline(admin.StackedInline):
+    model = UserProfile
 
 class LdtAdmin(UserAdmin):    
     list_display = ('username', 'email', 'first_name', 'last_name')
@@ -24,6 +25,7 @@
     form = LdtForm
     model = Ldt
     filter_horizontal = ('user_permissions',)
+    inlines = [UserProfileInline, ]
     
     def get_fieldsets(self, request, obj=None): 
         fieldsets = deepcopy(self.fieldsets)
@@ -33,10 +35,11 @@
         return fieldsets
         
     def add_view(self, request):
-        return super(UserAdmin, self).add_view(request)               
-        
-admin.site.unregister(Ldt)
-admin.site.register(Ldt, LdtAdmin)
+        return super(UserAdmin, self).add_view(request)  
+    
 
 admin.site.unregister(Group)
 admin.site.register(Group, GroupAdmin)
+
+admin.site.unregister(Ldt) 
+admin.site.register(Ldt, LdtAdmin)
\ No newline at end of file