Пример #1
0
def account_settings(request):
    if request.method == "POST":
        accountform = AccountForm(request.POST, instance=request.user)
        if accountform.is_valid():
            accountform.save()
            messages.success(request, _("Account settings successfully updated"))
            return redirect("account_settings")
        messages.error(request, _("Please fix these errors and resubmit the form"))
    else:
        accountform = AccountForm(instance=request.user)
    return render_to_response("user/account_settings.jinja", locals())
Пример #2
0
def show_diffs(request, page_title):
    """ show diffs of revisions of given page """
    rev1 = request.GET.get("revision_1")
    rev2 = request.GET.get("revision_2")
    if rev1 == rev2:
        messages.warning(request, _("Please chose two different revisions"))
    else:
        revision1 = get_object_or_404(Revision, page__title=page_title, id=rev1)
        revision2 = get_object_or_404(Revision, page__title=page_title, id=rev2)
        diff = show_diff(revision1.content_html, revision2.content_html)
    return render_to_response("wiki/show_diff.jinja", locals())
Пример #3
0
def profile_settings(request):
    if request.method == "POST":
        profileform = ProfileForm(request.POST, instance=request.user.profile)
        if profileform.is_valid():
            profileform.save()
            messages.success(request, _("Profile settings successfully updated"))
            return redirect("profile_settings")
        messages.error(request, _("Please fix these errors and resubmit the form"))
    else:
        profileform = ProfileForm(instance=request.user.profile)
    return render_to_response("user/profile_settings.jinja", locals())
Пример #4
0
def create_page(request, page_title):
    if request.method == "POST":
        form = PageRevisionForm(request.POST)
        if form.is_valid():
            page, created = Page.objects.get_or_create(title=page_title)
            form.save(page)
            messages.success(request, action_messages.get("page_created"))
            return HttpResponseRedirect(reverse_lazy("view_page", args=[page_title]))

    else:
        form = PageRevisionForm()
    return render_to_response("wiki/create_or_edit_page.jinja", locals())
Пример #5
0
def revert_page_to_revision(request, page_title, revision_id):
    page = get_object_or_404(Page, title=page_title)
    revision = get_object_or_404(Revision, page=page, id=revision_id)

    if request.method == "POST":
        form = RevertRevisionForm(request.POST)
        if form.is_valid():
            form.save(page, revision)
            messages.success(request, action_messages.get("page_reverted") % revision.datetime)
            return HttpResponseRedirect(reverse_lazy("view_page", args=[page_title]))
    else:
        form = RevertRevisionForm()
    return render_to_response("wiki/revert_page_to_revision.jinja", locals())
Пример #6
0
def register(request):
    if request.method == "POST":
        register_form = RegisterForm(request.POST)
        if register_form.is_valid():
            cdata = register_form.cleaned_data
            user = User.objects.create(email=cdata.get("email"),
                                      username=cdata.get("email"))
            user.set_password(cdata.get("password"))
            user.save()
            return HttpResponseRedirect("/")
    else:
        register_form = RegisterForm()
    return render_to_response("auth/login_or_register.jinja", locals())
Пример #7
0
def edit_page(request, page_title):
    page = get_object_or_404(Page, title=page_title)
    current_revision = page.current
    form = PageRevisionForm(initial=current_revision.to_dict())

    if request.method == "POST":
        """ do not allow any other changes """
        form = PageRevisionForm(request.POST, initial=current_revision.to_dict())

        if form.is_valid():
            form.save(page)
            messages.success(request, action_messages.get("page_updated"))
            return HttpResponseRedirect(reverse_lazy("view_page", args=[page_title]))

    return render_to_response("wiki/create_or_edit_page.jinja", locals())
Пример #8
0
def login(request):
    register_form = RegisterForm()
    if request.method == "POST":
        login_form = LoginForm(request.POST)
        if login_form.is_valid():
            cdata = login_form.cleaned_data
            user = authenticate(email=cdata.get("email"), 
                                password=cdata.get("password"))
            if user:
                dj_login(request, user)
                return HttpResponseRedirect(request.COOKIES.get("next", "/"))
            messages.error(request, _("Wrong email or password "))

    else:
        login_form = LoginForm()
    return render_to_response("auth/login_or_register.jinja", locals())
Пример #9
0
def index(request):
    return render_to_response("index.jinja", locals())
Пример #10
0
def view_profile(request, user_id=None, full_name=None):
    user = (user_id is None or request.user.id == user_id) and request.user \
                                        or get_object_or_404(User, is_superuser=False, pk=user_id)
    return render_to_response("user/view_profile.jinja", locals())
Пример #11
0
def list_revisions(request, page_title):
    """ list revisions of given page """
    page = get_object_or_404(Page.objects.select_related("revision", "revision__user"), title=page_title)
    revisions = page.revisions.values("user__first_name", "user__last_name", "user__id", "datetime", "id")
    return render_to_response("wiki/list_revisions.jinja", locals())
Пример #12
0
def show_similar_pages(request, page_title):
    """ This is a fallback method, that is executed upon Http404 exceptions 
    that will list the pages named similarly to the page_title """

    pages = Page.objects.get_similar_pages(page_title)
    return render_to_response("wiki/show_similar_pages.jinja", locals())
Пример #13
0
def view_page(request, page_title):
    page = get_object_or_404(Page, title=page_title)
    return render_to_response("wiki/view_page.jinja", locals())
Пример #14
0
def recent_changes(request):
    actions = ActionLog.objects.all()
    return render_to_response("wiki/recent_changes.jinja", locals())
Пример #15
0
def search(request):
    query_string = request.GET.get("q", "")
    results = Page.objects.filter(Q(title__icontains=query_string) | Q(revision__content__icontains=query_string))
    return render_to_response("wiki/search.jinja", locals())