def group_edit(request, group_slug):
    nav_selected = "communities"
    group = get_object_or_404(Group, slug=group_slug, is_geo_group=False)
    if not group.is_user_manager(request.user):
        return forbidden(request)
    if request.method == "POST":
        if "change_group" in request.POST:
            group_form = GroupForm(request.POST, request.FILES, instance=group)
            if group_form.is_valid():
                group = group_form.save()
                messages.success(request, "%s has been updated." % group)
                return redirect("group_edit", group_slug=group.slug)
            else:
                membership_form = MembershipForm(group=group)
                discussions_form = DiscussionSettingsForm(instance=group)
        if "discussion_settings" in request.POST:
            discussions_form = DiscussionSettingsForm(request.POST,
                                                      instance=group)
            if discussions_form.is_valid():
                group = discussions_form.save()
                messages.success(request, "%s has been updated." % group)
                return redirect("group_edit", group_slug=group.slug)
            else:
                membership_form = MembershipForm(group=group)
                group_form = GroupForm(instance=group)
        elif "delete_group" in request.POST:
            group.delete()
            messages.success(request, "%s has been deleted." % group)
            return redirect("group_list")
        elif "change_membership" in request.POST:
            membership_form = MembershipForm(group=group, data=request.POST)
            if membership_form.is_valid():
                membership_form.save()
                if group.is_user_manager(request.user):
                    messages.success(
                        request, "%s's memberships have been updated." % group)
                    return render_to_response(
                        "groups/group_edit.html",
                        locals(),
                        context_instance=RequestContext(request))
                else:
                    messages.success(
                        request,
                        "You no longer have permissions to edit %s" % group)
                    return redirect("group_detail", group_slug=group.slug)
            else:
                group_form = GroupForm(instance=group)
                discussions_form = DiscussionSettingsForm(instance=group)
        else:
            messages.error(request, "No action specified.")
    else:
        group_form = GroupForm(instance=group)
        membership_form = MembershipForm(group=group)
        discussions_form = DiscussionSettingsForm(instance=group)
    site = Site.objects.get_current()
    requesters = group.requesters_to_grant_or_deny(request.user)
    return render_to_response("groups/group_edit.html",
                              locals(),
                              context_instance=RequestContext(request))
示例#2
0
def register_membership():
    context = dict()
    membershipform = MembershipForm()
    context['membershipform'] = membershipform
    if membershipform.validate_on_submit():
        cursor = conn.execute('select * from membership where cid = \'' +
                              membershipform.cid.data + '\'')
        temp_cid = None
        temp_lvl = None
        for result in cursor:
            temp_cid = result['cid']
            temp_lvl = result['mlvl']
        cursor.close()
        cursor = conn.execute('select * from customer where cid = \'' +
                              membershipform.cid.data + '\'')
        temp_cid1 = None
        for result in cursor:
            temp_cid1 = result['cid']
        cursor.close()
        if temp_cid1 == None or temp_cid1 == '000000':
            message = 'You are not registered as a customer!'
        elif temp_cid == None and temp_cid1 != None:
            cursor = conn.execute('select max(mid) from membership')
            for result in cursor:
                temp_mid = int(result['max'])
            new_mid = str(temp_mid + 1).zfill(6)
            nowdate = date(date.today().year + 1,
                           date.today().month,
                           date.today().day).strftime('%Y-%m-%d')
            execution = 'insert into membership values(\'' + new_mid + '\',\'' + nowdate + '\', 0, \'' + membershipform.mem_field.data + '\',\'' + membershipform.cid.data + '\')'
            cursor = conn.execute(execution)
            cursor.close()

            cursor = conn.execute('update customer set mid = \'' + new_mid +
                                  '\' where cid = \'' +
                                  membershipform.cid.data + '\'')
            cursor.close()

            message = 'You got a new ' + membershipform.mem_field.data + ' membership. Expires at ' + nowdate + '.'
        elif temp_cid != None and temp_lvl == 'silver' and membershipform.mem_field.data == 'gold':
            nowdate = date(date.today().year + 1,
                           date.today().month,
                           date.today().day).strftime('%Y-%m-%d')
            execution = 'update membership set mlvl = \'gold\', mexpr = \'' + nowdate + '\' where cid = \'' + membershipform.cid.data + '\''
            cursor = conn.execute(execution)
            cursor.close()
            message = 'You updated your membership to gold. Expires at ' + nowdate + '.'
        else:
            message = 'You already got a membership. You need to upgrade.'
        context['message'] = message
    return render_template('membership.html', **context)