Esempio n. 1
0
def attach(request, page_url):
    user = user_auth(request)
    page = get_object_or_404(WikiPage, url=page_url)

    if page.can_attach_files(user) is False:
        return redirect_to_index(
            "You don't have permissions to attach files to this page.")

    message = None

    if request.method == 'POST':
        if 'file_name' in request.FILES:
            attachment = WikiAttachment()
            attachment.name = request.FILES['file_name'].name
            attachment.wiki_page = page
            attachment.ip = get_ip_from_request(request)
            attachment.size = request.FILES['file_name'].size
            attachment.date = datetime.datetime.now()
            attachment.author = user
            attachment.security = 'Public'
            attachment.hash = ''
            attachment.save()

            attachment.hash = hashlib.md5(str(attachment.id)).hexdigest()
            attachment.save()

            save_file(dest=os.path.join(
                ATTACHMENTS_DIR,
                "attachment%d-%s" % (attachment.id, attachment.name)),
                      file=request.FILES['file_name'])

            message = 'File uploaded successfully.'

    # Wtf isn't page.last_revision().wiki_page = page ?
    # can_attach = page.last_revision().wiki_page.can_attach_files(user)
    can_attach = page.can_attach_files(user)
    can_edit = page.last_revision().can_edit(user)
    can_view = page.last_revision().can_view(user)

    return render_to_response(
        'wiki/attach.html',
        {
            'page': page,
            'message': message if message is not None else '',
            'can_view': can_view,
            'can_edit': can_edit,
            'can_attach': can_attach,
            'navigation': {
                'main': 'wiki',
                'other': 'attach',
            }
        },
        context_instance=RequestContext(request),
    )
Esempio n. 2
0
def edit_user_account(request, user_name):
    user = user_auth(request)
    username = get_object_or_404(UserProfile, username=user_name)

    if user.has_perm('app.edit_userprofile') is False and user != username:
        return redirect_to_index(
            "You don't have permission to edit this user.")

    if request.method == 'POST':
        form = UserEditAccountForm(request.POST, instance=username)

        if 'avatar' in request.FILES:
            print "OKAY"
            dest = os.path.join(
                AVATARS_DIR,
                "%s_%s" % (username.username, request.FILES['avatar'].name))
            prefix = os.path.join(AVATARS_DIR, "%s_" % username.username)
            save_file(dest=dest, file=request.FILES['avatar'])

            os.system("convert %s %s" % (dest, prefix + "normal.jpeg"))
            os.system(
                "convert %s -resize 150^ -gravity Center -crop 150x150+0+0 +repage %s"
                % (prefix + "normal.jpeg", prefix + "medium.jpeg"))
            os.system(
                "convert %s -resize 50^ -gravity Center -crop 50x50+0+0 +repage %s"
                % (prefix + "normal.jpeg", prefix + "small.jpeg"))
            os.system(
                "convert %s -resize 16x16^ -gravity Center -crop 16x16+0+0 +repage %s"
                % (prefix + "normal.jpeg", prefix + "tiny.jpeg"))
            os.system("convert %s -resize 100 %s" %
                      (prefix + "normal.jpeg", prefix + "100px.jpeg"))
            os.remove(dest)

        if form.is_valid():
            form.save()

    else:
        form = UserEditAccountForm(username)

    return render_to_response(
        'user_edit_account.html',
        {
            'form': form,
            'user': user,
            'navigation': {
                'main': 'judge',
                'other': 'edit-account',
            }
        },
        context_instance=RequestContext(request),
    )
Esempio n. 3
0
def attach (request, page_url):
    user = user_auth(request)
    page = get_object_or_404(WikiPage, url = page_url)

    if page.can_attach_files(user) is False:
        return redirect_to_index("You don't have permissions to attach files to this page.")

    message = None

    if request.method == 'POST':
        if 'file_name' in request.FILES:
            attachment = WikiAttachment()
            attachment.name = request.FILES['file_name'].name
            attachment.wiki_page = page
            attachment.ip = get_ip_from_request(request)
            attachment.size = request.FILES['file_name'].size
            attachment.date = datetime.datetime.now()
            attachment.author = user
            attachment.security = 'Public'
            attachment.hash = ''
            attachment.save()

            attachment.hash = hashlib.md5(str(attachment.id)).hexdigest()
            attachment.save()

            save_file(dest = os.path.join(ATTACHMENTS_DIR, "attachment%d-%s" % (attachment.id, attachment.name)), file = request.FILES['file_name'])

            message = 'File uploaded successfully.'

    # Wtf isn't page.last_revision().wiki_page = page ?
    # can_attach = page.last_revision().wiki_page.can_attach_files(user)
    can_attach = page.can_attach_files(user)
    can_edit = page.last_revision().can_edit(user)
    can_view = page.last_revision().can_view(user)

    return render_to_response('wiki/attach.html',
                              {
                               'page' : page,
                               'message' : message if message is not None else '',
                               'can_view' : can_view,
                               'can_edit' : can_edit,
                               'can_attach' : can_attach,
                               'navigation' : {
                                    'main' : 'wiki',
                                    'other' : 'attach',
                               }
                              },
                              context_instance = RequestContext(request),
                             )
Esempio n. 4
0
def edit_user_account (request, user_name):
    user = user_auth(request)
    username = get_object_or_404(UserProfile, username = user_name)

    if user.has_perm('app.edit_userprofile') is False and user != username:
        return redirect_to_index("You don't have permission to edit this user.")

    if request.method == 'POST':
        form = UserEditAccountForm(request.POST, instance = username)

        if 'avatar' in request.FILES:
            print "OKAY"
            dest = os.path.join(AVATARS_DIR, "%s_%s" % (username.username, request.FILES['avatar'].name))
            prefix = os.path.join(AVATARS_DIR, "%s_" % username.username)
            save_file(dest = dest, file = request.FILES['avatar'])

            os.system("convert %s %s" % (dest, prefix + "normal.jpeg"))
            os.system("convert %s -resize 150^ -gravity Center -crop 150x150+0+0 +repage %s" % (prefix + "normal.jpeg", prefix + "medium.jpeg"))
            os.system("convert %s -resize 50^ -gravity Center -crop 50x50+0+0 +repage %s" % (prefix + "normal.jpeg", prefix + "small.jpeg"))
            os.system("convert %s -resize 16x16^ -gravity Center -crop 16x16+0+0 +repage %s" % (prefix + "normal.jpeg", prefix + "tiny.jpeg"))
            os.system("convert %s -resize 100 %s" % (prefix + "normal.jpeg", prefix + "100px.jpeg"))
            os.remove(dest)

        if form.is_valid ():
            form.save()

    else:
        form = UserEditAccountForm(username)

    return render_to_response('user_edit_account.html',
                              {'form' : form,
                               'user' : user,
                               'navigation' : {
                                    'main' : 'judge',
                                    'other' : 'edit-account',
                               }
                              },
                              context_instance = RequestContext(request),
                             )