Example #1
0
def new_password(request):
    sent = False
    if request.method == 'POST':
        sent = True
        members = MemberDao.members_by_email(request.POST.get('username'))
        if len(members) > 0:
            member = members[0]
            pw = password_generator()
            member.user.set_password(pw)
            member.user.save()
            send_mail_password_reset(member.email, pw)

    renderdict = {'sent': sent}
    return render(request, 'newpassword.html', renderdict)
Example #2
0
def add_member(request, subscription_id):
    shareerror = False
    shares = 0
    memberexists = False
    memberblocked = False
    main_member = request.user.member
    subscription = get_object_or_404(Subscription, id=subscription_id)
    if request.method == 'POST':
        memberform = RegisterMemberForm(request.POST)
        try:
            if Config.enable_shares():
                shares = int(request.POST.get('shares'))
                shareerror = shares < 0
        except:
            shareerror = True
        member = next(
            iter(MemberDao.members_by_email(request.POST.get('email')) or []),
            None)
        if member is not None:
            memberexists = True
            memberblocked = member.blocked
        if memberform.is_valid() or (memberexists is True
                                     and memberblocked is False):
            if memberexists is False:
                member = Member(**memberform.cleaned_data)
                create_member(member, subscription, main_member, shares)
            else:
                update_member(member, subscription, main_member, shares)
            for i in range(shares):
                create_share(member)
            return redirect('/my/subscription/detail/' + str(subscription_id) +
                            '/')
    else:
        initial = {
            'addr_street': main_member.addr_street,
            'addr_zipcode': main_member.addr_zipcode,
            'addr_location': main_member.addr_location,
            'phone': main_member.phone,
        }
        memberform = RegisterMemberForm(initial=initial)
    renderdict = {
        'shares': shares,
        'memberexists': memberexists,
        'memberblocked': memberblocked,
        'shareerror': shareerror,
        'memberform': memberform,
        'subscription_id': subscription_id
    }
    return render(request, 'add_member.html', renderdict)
Example #3
0
def cs_add_member(request):
    memberexists = False
    memberblocked = False
    co_members = request.session.get('create_co_members', [])
    if request.user.is_authenticated:
        main_member = request.user.member
    else:
        main_member = request.session.get('main_member')
    if main_member is None:
        return redirect('http://' + Config.server_url())
    if request.method == 'POST':
        memberform = RegisterMemberForm(request.POST)
        member = next(
            iter(MemberDao.members_by_email(request.POST.get('email')) or []),
            None)
        if member is not None:
            memberexists = True
            memberblocked = member.blocked
        if memberform.is_valid() or (memberexists is True
                                     and memberblocked is False):
            if memberexists is False:
                member = Member(**memberform.cleaned_data)
            co_members.append(member)
            request.session['create_co_members'] = co_members
    initial = {
        'addr_street': main_member.addr_street,
        'addr_zipcode': main_member.addr_zipcode,
        'addr_location': main_member.addr_location,
        'phone': main_member.phone,
    }
    memberform = RegisterMemberForm(initial=initial)
    renderdict = {
        'memberexists': memberexists,
        'memberblocked': memberblocked,
        'memberform': memberform,
    }
    return render(request, 'createsubscription/add_member_cs.html', renderdict)
Example #4
0
def add_member(request, subscription_id):
    shareerror = False
    shares = 1
    memberexists = False
    memberblocked = False
    if request.method == 'POST':
        memberform = MemberProfileForm(request.POST)
        try:
            shares = int(request.POST.get("shares"))
            shareerror = shares < 0
        except:
            shareerror = True
        member = next(
            iter(MemberDao.members_by_email(request.POST.get('email')) or []),
            None)
        if member is not None:
            memberexists = True
            shares = 0
            if member.subscription is not None:
                memberblocked = True

        if (memberform.is_valid()
                and shareerror is False) or (memberexists is True
                                             and memberblocked is False):
            tmp_shares = []
            pw = None
            if memberexists is False:
                for num in range(0, shares):
                    member = Member(**memberform.cleaned_data)
                    tmp_shares.append(Share(member=member, paid_date=None))
            else:
                for share in member.share_set.all():
                    tmp_shares.append(share)
            if request.GET.get("return"):
                member.subscription_id = subscription_id
                member.save()
                send_been_added_to_subscription(
                    member.email, pw, request.user.member.get_name(), shares,
                    hashlib.sha1(memberform.cleaned_data['email'] +
                                 str(subscription_id)).hexdigest())
                if memberexists is False:
                    for share in tmp_shares:
                        share.save()
                        send_share_created_mail(share)
                return redirect(request.GET.get("return"))
            else:
                co_members_shares = request.session.get(
                    'create_co_members_shares', [])
                co_members_shares += tmp_shares
                request.session['create_co_members_shares'] = co_members_shares
                co_members = request.session.get('create_co_members', [])
                co_members.append(member)
                request.session['create_co_members'] = co_members
                return redirect('/my/create/subscrition')
    else:
        if request.user.is_authenticated():
            member = request.user.member
        else:
            member = request.session.get('main_member')
        if member is None:
            return redirect("http://" + Config.server_url())
        initial = {
            "addr_street": member.addr_street,
            "addr_zipcode": member.addr_zipcode,
            "addr_location": member.addr_location,
            "phone": member.phone,
        }
        memberform = MemberProfileForm(initial=initial)
    renderdict = {
        'shares':
        shares,
        'memberexists':
        memberexists,
        'memberblocked':
        memberexists,
        'shareerror':
        shareerror,
        'memberform':
        memberform,
        "member":
        member,
        "depots":
        DepotDao.all_depots(),
        "cancelUrl":
        request.GET.get("return")
        if request.GET.get("return") else '/my/create/subscrition'
    }
    return render(request, "add_member.html", renderdict)