def add_news(request,project_id): user=request.user project = get_object_or_404(Project,pk=project_id) if request.method == 'POST': form = AddNewsForm(request.POST or None) if project.is_moder(user): if form.is_valid(): n=form.save(commit=False) n.user = user project.news_set.add(n) return redirect("/project/%s/" % (project_id)) else: form = AddNewsForm() is_admin = project.is_admin(user) is_moder = project.is_moder(user) return direct_to_template(request, 'add_news.html', locals())
def edit_news(request,project_id,news_id): user=request.user project = get_object_or_404(Project,pk=project_id) news = get_object_or_404(project.news_set,pk=news_id) is_author = user == news.user if request.method == 'POST': if project.is_moder(user) or is_author: form = AddNewsForm(request.POST or None,instance = news) if form.is_valid(): form.save() return redirect("/project/%s/news/%s/" % (project_id,news_id)) else: form = AddNewsForm(instance = news) is_admin = project.is_admin(user) is_moder = project.is_moder(user) is_author = user == news.user return direct_to_template(request, 'add_news.html', locals())