# HG changeset patch
# User verrierj
# Date 1322147636 -3600
# Node ID 83eea387fe5953516a091ef449488138a2ef7381
# Parent 81417fd477b0f42afd0e8fc36650fe56ad114d4e
Field is_regular can be changed in admin pages, non regular users cann not change, edit or create groups
diff -r 81417fd477b0 -r 83eea387fe59 src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/groups.html
--- 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 @@
diff -r 81417fd477b0 -r 83eea387fe59 src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/partial/groupslist.html
--- 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 %}
+ {% if user.is_regular %}
{% if group.change %}
| c |
{{ group.name }} |
@@ -17,6 +18,10 @@
l |
{{ group.name }} |
{% endif %}
+ {% else %}
+ |
+ {{ group.name }} |
+ {% endif %}
 |
diff -r 81417fd477b0 -r 83eea387fe59 src/ldt/ldt/ldt_utils/views.py
--- 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('User can leave a group.
')
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('User can leave a group.
')
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('User can leave a group.
')
+
group = get_object_or_404(Group, id=group_id)
redirect = boolean_convert(redirect)
diff -r 81417fd477b0 -r 83eea387fe59 src/ldt/ldt/user/admin.py
--- 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