def get_context_data(self, **kwargs): user = self.request.user project = self.get_object() permissions = Authorization.all_permissions(user, project) # On filtre les signalements selon leur statut et l'utilisateur courant features = Feature.handy.availables( user=user, project=project).order_by('-created_on') # On filtre les commentaire selon les signalements visibles last_comments = Comment.objects.filter( project=project, feature_id__in=[feat.feature_id for feat in features]).order_by('-created_on')[0:5] serialized_comments = CommentSerializer(last_comments, many=True).data serilized_projects = ProjectDetailedSerializer(project).data context = super().get_context_data(**kwargs) context['project'] = serilized_projects context['title'] = project.title context['user'] = user context['last_comments'] = serialized_comments context['last_features'] = features[0:5] context['features'] = features context['permissions'] = permissions context['feature_types'] = project.featuretype_set.all() context['is_suscriber'] = Subscription.is_suscriber(user, project) return context
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) project = self.get_object() user = self.request.user permissions = Authorization.all_permissions(user, project) last_comments = Comment.objects.filter( project=project ).order_by('-created_on')[0:5] serialized_comments = CommentSerializer(last_comments, many=True).data features = Feature.objects.filter( project=project ).order_by('-created_on') serilized_projects = ProjectDetailedSerializer(project).data context['project'] = serilized_projects context['user'] = user context['last_comments'] = serialized_comments context['last_features'] = features[0:5] context['features'] = features context['permissions'] = permissions context['feature_types'] = project.featuretype_set.all() context['is_suscriber'] = Subscription.is_suscriber(user, project) # EDC layers = Layer.objects.filter(project=project) serialized_layers = LayerSerializer(layers, many=True) context['layers'] = serialized_layers.data return context
def get(self, request, slug): project = get_object_or_404(Project, slug=slug) form = ProjectModelForm(instance=project) context = { 'form': form, 'project': project, 'permissions': Authorization.all_permissions(request.user, project), 'feature_types': project.featuretype_set.all(), 'is_suscriber': Subscription.is_suscriber(request.user, project), 'action': 'update' } return render(request, 'geocontrib/project/project_edit.html', context)
def post(self, request, slug): project = self.get_object() form = ProjectModelForm(request.POST, request.FILES, instance=project) if form.is_valid() and form.has_changed(): form.save() return redirect('geocontrib:project', slug=project.slug) context = { 'form': form, 'project': project, 'permissions': Authorization.all_permissions(request.user, project), 'feature_types': project.featuretype_set.all(), 'is_suscriber': Subscription.is_suscriber(request.user, project), 'action': 'update' } return render(request, 'geocontrib/project/project_edit.html', context)