Exemple #1
0
def updateSettings(request, company_name, member_name):
    member = memberAuth(request, company_name, member_name)
    if member:
        company = Company.objects.get(name=company_name)
        if request.method == 'POST':
            print request.POST['form_type']
            if request.POST['form_type'] == 'personal':
                form = PersonalForm(request.POST, instance=member)
                # print request.POST['old_password']
                if member.has_usable_password():
                    user = User.objects.get(username=member.username)
                    if user.check_password(request.POST['old_password']):
                        if request.POST['new_password']:
                            print request.POST['new_password']
                            # user.set_password(mem.password)
                            # user.save()
                    else:
                        return HttpResponse(
                            'Entered an invalid password. Please go back and try again'
                        )

            else:
                form = CompanyForm(request.POST, instance=company)
            if form.is_valid():
                form.save()

    return redirect(
        'profiles:settings',
        company_name,
        member_name,
    )
Exemple #2
0
def updateSettings(request, company_name, member_name):
    member = memberAuth(request, company_name, member_name)
    if member:
        company = Company.objects.get(name=company_name)
        if request.method == 'POST':
            print request.POST['form_type']
            if request.POST['form_type'] == 'personal':
                form = PersonalForm(request.POST, instance=member)
                # print request.POST['old_password']
                if member.has_usable_password():
                    user = User.objects.get(username=member.username)
                    if user.check_password(request.POST['old_password']):
                        if request.POST['new_password']:
                            print request.POST['new_password']
                            # user.set_password(mem.password)
                            # user.save()
                    else:
                        return HttpResponse('Entered an invalid password. Please go back and try again')

            else:
                form = CompanyForm(request.POST, instance=company)
            if form.is_valid():
                form.save()

    response = redirect('profiles:settings', company_name, member_name,)
    response['Location'] += "?saved=True"
    return response
Exemple #3
0
def updateName(request, company_name, member_name):
    # make sure member has access to this profile
    member = memberAuth(request, company_name, member_name)

    if member:
        company = Company.objects.get(name=company_name)

        # process the form and update user's name
        if request.method == 'POST':
            form = MemberNameForm(request.POST, instance=member)
            if form.is_valid():
                form.save()

                return redirect('profiles:profile', company_name, member_name,)
        else:
            form = MemberNameForm(instance=member)
        
        if member.first_name:
            header = 'Edit Name'
            return render(request, 'profiles/name.html', {'company':company, 'member':member, 'form':form, 'dismiss':"modal", 'header':header})
        else:
            header = 'Enter Name Before Continuing'
            return render(request, 'profiles/name.html', {'company':company, 'member':member, 'form':form, 'dismiss':"", 'header':header})

    else:
        return redirect('profiles:profile', company_name, member_name,)
Exemple #4
0
def addConflicts(request, company_name, member_name):
    member = memberAuth(request, company_name, member_name)
    if member:
        company = Company.objects.get(name=company_name)

        if request.method == 'POST':
            conflicts = request.POST['conflicts']
            conflicts = [l for l in conflicts.split("\n") if l]
            print conflicts

            # initialize error message for any processing errors
            error_message = "The following conflicts could not be processed:"

            for line in conflicts:
                info = line.split()
                print info

                # make sure line is specified length
                if len(info) != 4:
                    error = "\n" + line + " (Each line should have exactly 4 words)"
                    # print error
                    error_message += error
                    continue

                # check start time
                try:
                    start = datetime.strptime(info[2], "%I:%M%p")
                    print start.time()

                    end = datetime.strptime(info[3], "%I:%M%p")
                    print end.time()
                except ValueError:
                    error = "\n" + line + " (Does not contain valid time parameters)"
                    error_message += error
                    continue

                # get day of week information
                dow = time.strptime(info[1], "%A").tm_wday

                conflict = Conflict(
                    member=member,
                    description=info[0],
                    day_of_week=TimeBlock.DAY_OF_WEEK_CHOICES[dow][0],
                    start_time=start.time(),
                    end_time=end.time())
                conflict.save()
                # print rehearsal
            if "\n" in error_message:
                print error_message
        return redirect(
            'profiles:conflicts',
            company_name,
            member_name,
        )
    else:
        raise PermissionDenied
Exemple #5
0
def settings(request, company_name, member_name):
    # return render(request, '404.html')
    member = memberAuth(request, company_name, member_name)
    if member:
        company = Company.objects.get(name=company_name)
        admin = adminAuth(request, company_name, member_name)
        choreographer = Choreographer.objects.filter(member=member, company=company).exists()

        personal_form = PersonalForm(instance=member)
        company_form = CompanyForm(instance=company)
        return render(request, 'profiles/settings.html', {'company': company, 'member':member, 'admin':admin, 'choreographer':choreographer, 'personal_form':personal_form, 'company_form':company_form})
    else:
        return redirect('profiles:profile', company_name, member_name,)
Exemple #6
0
def deleteConflict(request, company_name, member_name, conflict_id):
    # check if came from profile
    member = memberAuth(request, company_name, member_name)
    if member:
        company = Company.objects.get(name=company_name)

        if member.conflict_set.filter(id=conflict_id).exists():
            conflict = member.conflict_set.get(id=conflict_id)
            conflict.delete()

        return redirect('profiles:conflicts', company_name, member_name,)
    else:
        raise PermissionDenied
Exemple #7
0
def profile(request, company_name, member_name):
    # make sure member has access to this profile
    member = memberAuth(request, company_name, member_name)

    if member:
        if not member.first_name:
            return redirect('profiles:settings', company_name, member_name,)
        company = Company.objects.get(name=company_name)
        admin = adminAuth(request, company_name, member_name)
    
        return render(request, 'profiles/hub.html', {'member':member, 'company':company, 'admin':admin})

    else:
        raise PermissionDenied
Exemple #8
0
def members(request, company_name, member_name):
    # make sure member has access to this profile
    member = memberAuth(request, company_name, member_name)

    if member:
        company = Company.objects.get(name=company_name)
        member_list = Member.objects.filter(groups__name=company_name)
        admin_list = company.admin_set.all()

        admin = adminAuth(request, company_name, member_name)

        return render(request, 'profiles/members.html', {'company':company, 'member':member, 'member_list':member_list, 'admin_list':admin_list, 'admin':admin})

    else:
        raise PermissionDenied
Exemple #9
0
def updateName(request, company_name, member_name):
    # make sure member has access to this profile
    member = memberAuth(request, company_name, member_name)

    if member:
        company = Company.objects.get(name=company_name)

        # process the form and update user's name
        if request.method == 'POST':
            form = MemberNameForm(request.POST, instance=member)
            if form.is_valid():
                form.save()

                return redirect(
                    'profiles:profile',
                    company_name,
                    member_name,
                )
        else:
            form = MemberNameForm(instance=member)

        if member.first_name:
            header = 'Edit Name'
            return render(
                request, 'profiles/name.html', {
                    'company': company,
                    'member': member,
                    'form': form,
                    'dismiss': "modal",
                    'header': header
                })
        else:
            header = 'Enter Name Before Continuing'
            return render(
                request, 'profiles/name.html', {
                    'company': company,
                    'member': member,
                    'form': form,
                    'dismiss': "",
                    'header': header
                })

    else:
        return redirect(
            'profiles:profile',
            company_name,
            member_name,
        )
Exemple #10
0
def scheduling(request, company_name, member_name):
    # check if valid admin
    member = memberAuth(request, company_name, member_name)
    if member:
        company = Company.objects.get(name=company_name)
        admin = adminAuth(request, company_name, member_name)
        # rehearsals = company.getSortedRehearsals()
        rehearsals = Rehearsal.objects.filter(company=company)

        casts = Cast.objects.filter(company=company)

        form = RehearsalForm(company_name=company_name)

        return render(request, 'profiles/schedule.html', {'company':company, 'member':member, 'admin':admin, 'cast_list':casts, 'rehearsal_list':rehearsals, 'form':form})
    else:
        raise PermissionDenied
Exemple #11
0
def addConflicts(request, company_name, member_name):
    member = memberAuth(request, company_name, member_name)
    if member:
        company = Company.objects.get(name=company_name)

        if request.method == 'POST':
            conflicts = request.POST['conflicts']
            conflicts = [l for l in conflicts.split("\n") if l]
            print conflicts

            # initialize error message for any processing errors
            error_message = "The following conflicts could not be processed:"

            for line in conflicts:
                info = line.split()
                print info

                # make sure line is specified length
                if len(info) != 4:
                    error = "\n" + line +  " (Each line should have exactly 4 words)"
                    # print error
                    error_message += error
                    continue

                # check start time
                try:
                    start = datetime.strptime(info[2], "%I:%M%p")
                    print start.time()

                    end = datetime.strptime(info[3], "%I:%M%p")
                    print end.time()
                except ValueError:
                    error = "\n" + line + " (Does not contain valid time parameters)"
                    error_message += error
                    continue

                # get day of week information
                dow = time.strptime(info[1], "%A").tm_wday

                conflict = Conflict(member=member, description=info[0], day_of_week=TimeBlock.DAY_OF_WEEK_CHOICES[dow][0], start_time=start.time(), end_time=end.time())
                conflict.save()
                # print rehearsal
            if "\n" in error_message:
                print error_message
        return redirect('profiles:conflicts', company_name, member_name,)
    else:
        raise PermissionDenied
Exemple #12
0
def deleteConflict(request, company_name, member_name, conflict_id):
    # check if came from profile
    member = memberAuth(request, company_name, member_name)
    if member:
        company = Company.objects.get(name=company_name)

        if member.conflict_set.filter(id=conflict_id).exists():
            conflict = member.conflict_set.get(id=conflict_id)
            conflict.delete()

        return redirect(
            'profiles:conflicts',
            company_name,
            member_name,
        )
    else:
        raise PermissionDenied
Exemple #13
0
def casts(request, company_name, member_name):
    member = memberAuth(request, company_name, member_name)

    if member:
        company = Company.objects.get(name=company_name)
        admin = adminAuth(request, company_name, member_name)

        cast_list = Cast.objects.filter(company=company)
        choreographer_list = Choreographer.objects.filter(company=company)
        my_cast_list = Choreographer.objects.filter(company=company, member=member)
        # print my_cast_list
        # my_piece_list = member.cast.all()

        form = CastingForm(company_name=company_name)
        # form = UserForm()
        return render(request, 'profiles/casts.html', {'company':company, 'member':member, 'admin':admin, 'cast_list':cast_list, 'choreographer_list':choreographer_list, 'my_cast_list':my_cast_list, 'form':form})
    else:
        raise PermissionDenied
Exemple #14
0
def updateConflict(request, company_name, member_name, conflict_id):
    name = 'updates:updateConflict'

    # check if valid member
    member = memberAuth(request, company_name, member_name)
    if member:
        company = Company.objects.get(name=company_name)

        if member.conflict_set.filter(id=conflict_id).exists():
            conflict = member.conflict_set.get(id=conflict_id)

            # process the form and rehearsal data
            if request.method == 'POST':
                form = ConflictForm(request.POST, instance=conflict)
                if form.is_valid():
                    form.save()

                    return redirect(
                        'profiles:conflicts',
                        company_name,
                        member_name,
                    )
            else:
                form = ConflictForm(instance=conflict)
            return render(
                request, 'updates/update.html', {
                    'company': company,
                    'member': member,
                    'curr': conflict,
                    'form': form,
                    'redirect_name': name
                })
        return redirect(
            'profiles:conflicts',
            company_name,
            member_name,
        )
    else:
        raise PermissionDenied
Exemple #15
0
def testing(request, company_name, member_name, date_string):
    member = memberAuth(request, company_name, member_name)
    if member:
        if request.method == 'POST':
            #
            description = request.POST['description']
            day_of_week = request.POST['dow']

            start = request.POST['startOptions'].split(", ")[2].replace(".", "")
            if ':' not in start:
                start = start.replace(" ", ":00 ")
            start_time = datetime.strptime(start, "%I:%M %p")
            # print start, start_time

            end = request.POST['endOptions'].split(", ")[2].replace(".", "")
            if ':' not in end:
                end = end.replace(" ", ":00 ")
            
            end_time = datetime.strptime(end, "%I:%M %p")

            conflict = Conflict(member=member, description=description, day_of_week=day_of_week, start_time=start_time.time(), end_time=end_time.time())
            conflict.save()

            # print description, day_of_week
            return redirect('profiles:conflicts', company_name, member_name,)
        else:
            event = date_string.replace("%20", " ").split('-')
            try:
                start_time = datetime.fromtimestamp(float(event[2])/1000.0)
                # start_time2 = datetime.fromtimestamp(float(event[2])/1000.0) + timedelta(minutes=float(event[3]))
                end_time = datetime.fromtimestamp(float(event[4])/1000.0)
                # end_time2 = datetime.fromtimestamp(float(event[4])/1000.0) + timedelta(minutes=float(event[5]))
                # print day_of_week, start_time, end_time

                return render(request, 'profiles/testing.html', {'company_name':company_name, 'member_name':member_name, 'start_time':start_time, 'end_time':end_time, 'dow':event[1], 'description':event[0]})
            except:
                return HttpResponse("Could not process your request")
    else:
        raise PermissionDenied
Exemple #16
0
def conflicts(request, company_name, member_name):
    member = memberAuth(request, company_name, member_name)

    if member:
        company = Company.objects.get(name=company_name)
        founder = Founder.objects.get(id=1)

        # admin = adminAuth(request, company_name, member_name)

        conflict_list = {}
        for conflict in member.conflict_set.all():
            try:
                conflict_list[conflict.day_of_week].append(conflict)
            except KeyError:
                conflict_list[conflict.day_of_week] = []
                conflict_list[conflict.day_of_week].append(conflict)

        conflict_list = sorted(conflict_list.items(), key=lambda x: DOWs.index(x[0]))

        return render(request, 'profiles/conflicts.html', {'company':company, 'member':member, 'conflict_list':conflict_list, 'timeblock':TimeBlock, 'founder':founder})

    else:
        raise PermissionDenied
Exemple #17
0
def spaces(request, company_name, member_name):
    member = memberAuth(request, company_name, member_name)

    if member:
        company = Company.objects.get(name=company_name)
        admin = adminAuth(request, company_name, member_name)

        rehearsal_list = {}
        for rehearsal in company.rehearsal_set.all():
            try:
                rehearsal_list[rehearsal.day_of_week].append(rehearsal)
            # print rehearsal.day_of_week
            except KeyError:
                rehearsal_list[rehearsal.day_of_week] = []
                rehearsal_list[rehearsal.day_of_week].append(rehearsal)

        rehearsal_list = sorted(rehearsal_list.items(), key=lambda x: DOWs.index(x[0]))
        # print rehearsal_list
        # print rehearsal_list[0]

        return render(request, 'profiles/spaces.html', {'company':company, 'member':member, 'rehearsal_list':rehearsal_list, 'admin':admin})

    else:
        raise PermissionDenied
Exemple #18
0
def updateConflict(request, company_name, member_name, conflict_id):
    name = 'updates:updateConflict'
    
    # check if valid member
    member = memberAuth(request, company_name, member_name)
    if member:
        company = Company.objects.get(name=company_name)
        
        if member.conflict_set.filter(id=conflict_id).exists():
            conflict = member.conflict_set.get(id=conflict_id)
                    
            # process the form and rehearsal data
            if request.method == 'POST':
                form = ConflictForm(request.POST, instance=conflict)
                if form.is_valid():
                    form.save()

                    return redirect('profiles:conflicts', company_name, member_name,)
            else:
                form = ConflictForm(instance=conflict)
            return render(request, 'updates/update.html', {'company':company, 'member':member, 'curr':conflict, 'form':form, 'redirect_name':name})
        return redirect('profiles:conflicts', company_name, member_name,)
    else:
        raise PermissionDenied