diff --git a/re2o/views.py b/re2o/views.py index aaf69602..ff34d726 100644 --- a/re2o/views.py +++ b/re2o/views.py @@ -70,119 +70,6 @@ def index(request): }, 're2o/index.html', request) -#: Binding the corresponding char sequence of history url to re2o models. -HISTORY_BIND = { - 'users': { - 'user': users.models.User, - 'ban': users.models.Ban, - 'mailalias': users.models.MailAlias, - 'whitelist': users.models.Whitelist, - 'school': users.models.School, - 'listright': users.models.ListRight, - 'serviceuser': users.models.ServiceUser, - 'listshell': users.models.ListShell, - }, - 'preferences': { - 'service': preferences.models.Service, - 'mailcontact': preferences.models.MailContact, - }, - 'cotisations': { - 'facture': cotisations.models.Facture, - 'article': cotisations.models.Article, - 'paiement': cotisations.models.Paiement, - 'banque': cotisations.models.Banque, - }, - 'topologie': { - 'switch': topologie.models.Switch, - 'port': topologie.models.Port, - 'room': topologie.models.Room, - 'stack': topologie.models.Stack, - 'modelswitch': topologie.models.ModelSwitch, - 'constructorswitch': topologie.models.ConstructorSwitch, - 'accesspoint': topologie.models.AccessPoint, - 'switchbay': topologie.models.SwitchBay, - 'building': topologie.models.Building, - }, - 'machines': { - 'machine': machines.models.Machine, - 'interface': machines.models.Interface, - 'domain': machines.models.Domain, - 'machinetype': machines.models.MachineType, - 'iptype': machines.models.IpType, - 'extension': machines.models.Extension, - 'soa': machines.models.SOA, - 'mx': machines.models.Mx, - 'txt': machines.models.Txt, - 'dname': machines.models.DName, - 'srv': machines.models.Srv, - 'ns': machines.models.Ns, - 'service': machines.models.Service, - 'role': machines.models.Role, - 'vlan': machines.models.Vlan, - 'nas': machines.models.Nas, - 'ipv6list': machines.models.Ipv6List, - 'sshfingerprint': machines.models.SshFingerprint, - 'sshfpralgo': machines.models.SshFprAlgo, - }, -} - - -@login_required -def history(request, application, object_name, object_id): - """Render history for a model. - - The model is determined using the `HISTORY_BIND` dictionnary if none is - found, raises a Http404. The view checks if the user is allowed to see the - history using the `can_view` method of the model. - - Args: - request: The request sent by the user. - object_name: Name of the model. - object_id: Id of the object you want to acces history. - - Returns: - The rendered page of history if access is granted, else the user is - redirected to their profile page, with an error message. - - Raises: - Http404: This kind of models doesn't have history. - """ - try: - model = HISTORY_BIND[application][object_name] - except KeyError: - raise Http404(u"Il n'existe pas d'historique pour ce modèle.") - object_name_id = object_name + 'id' - kwargs = {object_name_id: object_id} - try: - instance = model.get_instance(**kwargs) - except model.DoesNotExist: - messages.error(request, u"Entrée inexistante") - return redirect(reverse( - 'users:profil', - kwargs={'userid': str(request.user.id)} - )) - can, msg = instance.can_view(request.user) - if not can: - messages.error(request, msg or "Vous ne pouvez pas accéder à ce menu") - return redirect(reverse( - 'users:profil', - kwargs={'userid': str(request.user.id)} - )) - pagination_number = GeneralOption.get_cached_value('pagination_number') - reversions = Version.objects.get_for_object(instance) - if hasattr(instance, 'linked_objects'): - for related_object in chain(instance.linked_objects()): - reversions = (reversions | - Version.objects.get_for_object(related_object)) - reversions = re2o_paginator(request, reversions, pagination_number) - return render( - request, - 're2o/history.html', - {'reversions': reversions, 'object': instance} - ) ->>>>>>> e42b8f9... Page de contact coté utilisateur - - @cache_page(7 * 24 * 60 * 60) def about_page(request): """ The view for the about page.