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, )
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
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,)
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
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,)
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
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
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
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, )
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
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
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
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
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
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
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
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
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