# 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 @@
{% trans "My groups" %}
- {% trans 'Create content' %} + {% if user.is_regular %} + {% trans 'Create group' %} + {% endif %}
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