class InterventionCreate(ManDayFormsetMixin, MapEntityCreate): model = Intervention form_class = InterventionCreateForm @method_decorator(editor_required('maintenance:intervention_list')) def dispatch(self, *args, **kwargs): return super(InterventionCreate, self).dispatch(*args, **kwargs) def on_infrastucture(self): pk = self.request.GET.get('infrastructure') if pk: try: return Infrastructure.objects.existing().get(pk=pk) except Infrastructure.DoesNotExist: try: return Signage.objects.existing().get(pk=pk) except Signage.DoesNotExist: logger.warning( "Intervention on unknown infrastructure %s" % pk) return None def get_initial(self): """ Returns the initial data to use for forms on this view. """ initial = self.initial.copy() infrastructure = self.on_infrastucture() if infrastructure: initial['infrastructure'] = infrastructure return initial def get_context_data(self, **kwargs): context = super(InterventionCreate, self).get_context_data(**kwargs) context['infrastructure'] = self.on_infrastucture() return context
class InterventionDelete(MapEntityDelete): model = Intervention @method_decorator(editor_required('maintenance:intervention_detail')) @same_structure_required('maintenance:intervention_detail') def dispatch(self, *args, **kwargs): return super(InterventionDelete, self).dispatch(*args, **kwargs)
class ProjectDelete(MapEntityDelete): model = Project @method_decorator(editor_required('maintenance:project_detail')) @same_structure_required('maintenance:project_detail') def dispatch(self, *args, **kwargs): return super(ProjectDelete, self).dispatch(*args, **kwargs)
class ProjectCreate(FundingFormsetMixin, MapEntityCreate): model = Project form_class = ProjectForm @method_decorator(editor_required('maintenance:intervention_list')) def dispatch(self, *args, **kwargs): return super(ProjectCreate, self).dispatch(*args, **kwargs)
class InfrastructureDelete(MapEntityDelete): model = Infrastructure @method_decorator(editor_required('infrastructure:infrastructure_detail')) @same_structure_required('infrastructure:infrastructure_detail') def dispatch(self, *args, **kwargs): return super(InfrastructureDelete, self).dispatch(*args, **kwargs)
class InfrastructureCreate(MapEntityCreate): model = Infrastructure form_class = InfrastructureForm @method_decorator(editor_required('infrastructure:infrastructure_list')) def dispatch(self, *args, **kwargs): return super(InfrastructureCreate, self).dispatch(*args, **kwargs)
class SignageUpdate(MapEntityUpdate): queryset = Signage.objects.existing() form_class = SignageForm @method_decorator(editor_required('infrastructure:signage_detail')) def dispatch(self, *args, **kwargs): return super(SignageUpdate, self).dispatch(*args, **kwargs)
class InterventionUpdate(ManDayFormsetMixin, MapEntityUpdate): queryset = Intervention.objects.existing() form_class = InterventionForm @method_decorator(editor_required('maintenance:intervention_detail')) @same_structure_required('maintenance:intervention_detail') def dispatch(self, *args, **kwargs): return super(InterventionUpdate, self).dispatch(*args, **kwargs)
class ProjectUpdate(FundingFormsetMixin, MapEntityUpdate): queryset = Project.objects.existing() form_class = ProjectForm @method_decorator(editor_required('maintenance:project_detail')) @same_structure_required('maintenance:project_detail') def dispatch(self, *args, **kwargs): return super(ProjectUpdate, self).dispatch(*args, **kwargs)
class InfrastructureUpdate(MapEntityUpdate): queryset = Infrastructure.objects.existing() form_class = InfrastructureForm @method_decorator(editor_required('infrastructure:infrastructure_detail')) @same_structure_required('infrastructure:infrastructure_detail') def dispatch(self, *args, **kwargs): return super(InfrastructureUpdate, self).dispatch(*args, **kwargs)
class SignageDelete(MapEntityDelete): model = Signage @method_decorator(editor_required('infrastructure:signage_detail')) def dispatch(self, *args, **kwargs): return super(SignageDelete, self).dispatch(*args, **kwargs)