def create(request, p_id): user = request.user project = get_object_or_404(Project, pk=p_id) project.check_user_in_project_or_404(user) users_in_project = project.get_users() if not checkperm(PERMISSIONS_WIKIBOARD_CREATE, user, project): return HttpResponseForbidden(_('Forbidden Access')) if request.method == 'POST': form = NewWikiEntryForm(project, request.POST) if form.is_valid(): #TODO: put in form save wiki = Wiki() wiki.project = project wiki.creator = user wiki.name = form.cleaned_data['wiki_name'] wiki.save() wikientry = WikiEntry() wikientry.content = form.cleaned_data['content'] wikientry.author = user wikientry.wiki = wiki wikientry.save() wiki.last_version = wikientry wiki.save() events_log(user, 'A', wiki.name, wikientry) request.user.message_set.create( message=_('Wikiboard "%s" was successfully created.') % wiki.name) kw = { 'p_id': project.id, 'entry_id': wiki.id, 'entry_version': wikientry.id } return HttpResponseRedirect( urlresolvers.reverse('rancho.wikiboard.views.view_page', kwargs=kw)) else: form = NewWikiEntryForm(project) context = { 'project': project, 'users_in_project': users_in_project, 'form': form } return render_to_response("wikiboard/create_entry.html", context, context_instance=RequestContext(request))
def edit(request, p_id,entry_id=None,entry_version=None): user = request.user project = get_object_or_404(Project, pk=p_id) project.check_user_in_project_or_404(user) users_in_project = project.get_users() if entry_id and entry_version: wiki = get_object_or_404(Wiki, pk=entry_id) wikicurentry = get_object_or_404(WikiEntry, id=entry_version) if not checkperm(PERMISSIONS_WIKIBOARD_CREATE, user, project, wiki ) or wiki.project != project: return HttpResponseForbidden(_('Forbidden Access')) if request.method=='POST': tinyMceForm = TinyMceForm(request.POST) if tinyMceForm.is_valid(): wikientry = WikiEntry() wikientry.content = tinyMceForm.cleaned_data['content'] wikientry.author = user wikientry.wiki = wiki wikientry.save() wiki.last_version = wikientry wiki.save() events_log(user, 'U', wiki.name, wikientry) request.user.message_set.create(message=_('Wikiboard "%s" was successfully updated.') % wiki.name) kw = {'p_id': project.id, 'entry_id': wiki.id, 'entry_version': wikientry.id} return HttpResponseRedirect(urlresolvers.reverse('rancho.wikiboard.views.view_page', kwargs=kw)) else: if wiki: data = {'content': wikicurentry.content} else: data = {} tinyMceForm = TinyMceForm(data) context = {'project': project, 'users_in_project': users_in_project, 'wiki': wiki, 'wikicurentry': wikicurentry, 'wiki_entrys': WikiEntry.objects.filter(wiki=wiki).order_by('-creation_date'), 'form': tinyMceForm } return render_to_response("wikiboard/edit_entry.html", context, context_instance=RequestContext(request))
def create(request, p_id): user = request.user project = get_object_or_404(Project, pk=p_id) project.check_user_in_project_or_404(user) users_in_project = project.get_users() if not checkperm(PERMISSIONS_WIKIBOARD_CREATE, user, project ): return HttpResponseForbidden(_('Forbidden Access')) if request.method=='POST': form = NewWikiEntryForm(project, request.POST) if form.is_valid(): #TODO: put in form save wiki = Wiki() wiki.project = project wiki.creator = user wiki.name = form.cleaned_data['wiki_name'] wiki.save() wikientry = WikiEntry() wikientry.content = form.cleaned_data['content'] wikientry.author = user wikientry.wiki = wiki wikientry.save() wiki.last_version = wikientry wiki.save() events_log(user, 'A', wiki.name, wikientry) request.user.message_set.create(message=_('Wikiboard "%s" was successfully created.') % wiki.name) kw = {'p_id': project.id, 'entry_id': wiki.id, 'entry_version': wikientry.id} return HttpResponseRedirect(urlresolvers.reverse('rancho.wikiboard.views.view_page', kwargs=kw)) else: form = NewWikiEntryForm(project) context = {'project': project, 'users_in_project': users_in_project, 'form': form } return render_to_response("wikiboard/create_entry.html", context, context_instance=RequestContext(request))
def edit(request, p_id, entry_id=None, entry_version=None): user = request.user project = get_object_or_404(Project, pk=p_id) project.check_user_in_project_or_404(user) users_in_project = project.get_users() if entry_id and entry_version: wiki = get_object_or_404(Wiki, pk=entry_id) wikicurentry = get_object_or_404(WikiEntry, id=entry_version) if not checkperm(PERMISSIONS_WIKIBOARD_CREATE, user, project, wiki) or wiki.project != project: return HttpResponseForbidden(_('Forbidden Access')) if request.method == 'POST': tinyMceForm = TinyMceForm(request.POST) if tinyMceForm.is_valid(): wikientry = WikiEntry() wikientry.content = tinyMceForm.cleaned_data['content'] wikientry.author = user wikientry.wiki = wiki wikientry.save() wiki.last_version = wikientry wiki.save() events_log(user, 'U', wiki.name, wikientry) request.user.message_set.create( message=_('Wikiboard "%s" was successfully updated.') % wiki.name) kw = { 'p_id': project.id, 'entry_id': wiki.id, 'entry_version': wikientry.id } return HttpResponseRedirect( urlresolvers.reverse('rancho.wikiboard.views.view_page', kwargs=kw)) else: if wiki: data = {'content': wikicurentry.content} else: data = {} tinyMceForm = TinyMceForm(data) context = { 'project': project, 'users_in_project': users_in_project, 'wiki': wiki, 'wikicurentry': wikicurentry, 'wiki_entrys': WikiEntry.objects.filter(wiki=wiki).order_by('-creation_date'), 'form': tinyMceForm } return render_to_response("wikiboard/edit_entry.html", context, context_instance=RequestContext(request))