def post(self, request): data = request.data company = org_names_filter(data['company']) email = encode_email(data['email']) meta = request.META user = request.user try: check_perms(meta, user, Permission.any_authenticated, company, email) except ValueError as e: print(e) return HttpResponseForbidden() password_changed = str_int_to_bool(data['is_password_changed']) onboard_complete = str_int_to_bool(data['is_onboard_complete']) login_bools_dict = login_bools_to_dict(password_changed, onboard_complete) set_login_bools(login_bools_dict, company, email) return Response(data)
def post(self, request): meta = request.META user = request.user try: check_perms(meta, user, Permission.superuser, None, None) except ValueError as e: print(e) return HttpResponseForbidden() data = request.data company = org_names_filter(data['company']) department = org_names_filter(data['department']) email = data['email'] reasons = data['reasons'] statuses = data['statuses'] time_off_days_dict = time_off_days_to_dict(reasons, statuses) set_department_time_off_requests(time_off_days_dict, company, department, email) set_user_time_off_requests(time_off_days_dict, company, email) return Response(data)
def post(self, request): meta = request.META user = request.user data = request.data company = org_names_filter(data['company']) department = org_names_filter(data['department']) try: check_perms(meta, user, Permission.manager, company, department) except ValueError as e: print(e) return HttpResponseForbidden() schedule_exact_times = data['exactTimes'] schedule_positions = data['positions'] schedule_days = data['schedules'] schedule_dict = schedule_to_dict(schedule_days, schedule_exact_times, schedule_positions) set_department_schedule(schedule_dict, company, department) set_all_users_schedule(schedule_dict, company, department) return Response(schedule_dict)
def post(self, request): meta = request.META user = request.user data = request.data company = org_names_filter(data['company']) department = org_names_filter(data['department']) try: check_perms(meta, user, Permission.manager, company, department) except ValueError as e: print(e) return HttpResponseForbidden() shift_length = data['shiftLength'] sunday = data['sunday'] monday = data['monday'] tuesday = data['tuesday'] wednesday = data['wednesday'] thursday = data['thursday'] friday = data['friday'] saturday = data['saturday'] needs_days = [ sunday, monday, tuesday, wednesday, thursday, friday, saturday ] needs_dict = needs_to_dict(needs_days, shift_length) set_needs(needs_dict, company, department) return Response({'data': data})
def get(self, request, company, department): if request.method == 'GET': meta = request.META user = request.user try: check_perms(meta, user, Permission.manager, company, department) except ValueError as e: print(e) return HttpResponseForbidden() users_ref = get_user_collection_for_department_ref( company, department) users = users_ref.get() users_dict = {'users': {}} for user_doc in users: user_dict = user_doc.to_dict() email = user_dict['email'] encoded_email = encode_email(email) avaiability_dict = get_availability(company, encoded_email) users_dict['users'][email] = avaiability_dict # serializer = AvailabilitySerializer(users_dict).data return Response(users_dict)
def post(self, request): meta = request.META user = request.user try: check_perms(meta, user, Permission.superuser, None, None) except ValueError as e: print(e) return HttpResponseForbidden() data = request.data company = org_names_filter(data['company']) departments = data['departments'] position = data['position'] email = data['email'] first_name = data['name']['first'] last_name = data['name']['last'] is_part_time = data['isPartTime'] account_type = data['accountType'] status = data['status'] user_dict = user_to_dict(position, departments, email, first_name, last_name, is_part_time, account_type, status) add_user(user_dict, company) return Response({'data': data})
def get(self, request, company, encoded_email): if request.method == 'GET': meta = request.META user = request.user try: check_perms(meta, user, Permission.basic, company, encoded_email) except ValueError as e: print(e) return HttpResponseForbidden() availability = get_availability(company, encoded_email) serializer = AvailabilitySerializer(availability).data return Response(serializer)
def get(self, request, company, encoded_email): if request.method == 'GET': meta = request.META user = request.user try: check_perms(meta, user, Permission.any_authenticated, company, encoded_email) except ValueError as e: print(e) return HttpResponseForbidden() onboard = get_login_bools(company, encoded_email) serializer = LoginBoolsSerializer(onboard).data return Response(serializer)
def get(self, request, company, encoded_email): if request.method == 'GET': meta = request.META user = request.user try: check_perms(meta, user, Permission.any_authenticated, company, encoded_email) except ValueError as e: print(e) return HttpResponseForbidden() user = get_user(company, encoded_email) serializer = AccountTypeSerializer(user).data return Response(serializer)
def get(self, request, company, department): if request.method == 'GET': meta = request.META user = request.user try: check_perms(meta, user, Permission.manager, company, department) except ValueError as e: print(e) return HttpResponseForbidden() schedule = get_full_schedule(company, department) serializer = FullScheduleSerializer(schedule).data return Response(serializer)
def get(self, request, company, encoded_email): if request.method == 'GET': meta = request.META user = request.user try: check_perms(meta, user, Permission.basic, company, encoded_email) except ValueError as e: print(e) return HttpResponseForbidden() time_off = get_user_time_off(company, encoded_email) print(time_off) serializer = TimeOffSerializer(time_off).data return Response(serializer)
def get(self, request, company, department): if request.method == 'GET': meta = request.META user = request.user try: check_perms(meta, user, Permission.manager, company, department) except ValueError as e: print(e) return HttpResponseForbidden() needs = get_department_needs_ref(company, department).get().to_dict() serializer = NeedsSerializer(needs).data return Response(serializer)
def post(self, request): meta = request.META user = request.user try: check_perms(meta, user, Permission.superuser, None, None) except ValueError as e: print(e) return HttpResponseForbidden() data = request.data company = org_names_filter(data['company']) users_dict = parse_json_from_excel(data['users']) register_user_list(company, users_dict) return Response(data)
def post(self, request): meta = request.META user = request.user data = request.data company = org_names_filter(data['company']) department = org_names_filter(data['department']) email = data['email'] try: encoded_email = encode_email(email) check_perms(meta, user, Permission.any_authenticated_manager_or_basic, company, [encoded_email, department]) except ValueError as e: print(e) return HttpResponseForbidden() date = data['date'] reason = data['reason'] status = data['status'] actions = data['action'] should_delete = actions['delete'] should_save = actions['save'] is_valid = true_exclusive_or(should_delete, should_save) if not is_valid: print('Invalid action specified:', actions) return Response() if should_save: time_off_dict = single_time_off_to_dict(date, reason, status) set_single_department_time_off_request(time_off_dict, company, department, email) set_single_time_off_request(time_off_dict, company, email) else: delete_department_time_off_request(date, company, department, email) delete_time_off_request(date, company, email) return Response(data)
def get(self, request, company, department): if request.method == 'GET': meta = request.META user = request.user try: check_perms(meta, user, Permission.manager, company, department) except ValueError as e: print(e) return HttpResponseForbidden() users = get_users(company, department) serializer = UserSerializer(users, many=True).data # can't use this one because availability might not be set yet. # serializer = UserSerializerWithAvailability(users, many=True).data return Response({'users': serializer})
def get(self, request, company, encoded_email): if request.method == 'GET': meta = request.META user = request.user try: check_perms(meta, user, Permission.basic, company, encoded_email) except ValueError as e: print(e) return HttpResponseForbidden() schedule = get_user_schedule(company, encoded_email) print(schedule) serializer = UserScheduleSerializer(schedule).data return Response(serializer)
def get(self, request, company, department): if request.method == 'GET': meta = request.META user = request.user try: check_perms(meta, user, Permission.superuser, None, None) except ValueError as e: print(e) return HttpResponseForbidden() needs = get_department_needs_ref(company, department).get().to_dict() open_hours = needs_to_open_hours(needs) serializer = OpenHoursSerializer(open_hours).data return Response(serializer)
def get(self, request, company, department): if request.method == 'GET': meta = request.META user = request.user try: check_perms(meta, user, Permission.manager, company, department) except ValueError as e: print(e) return HttpResponseForbidden() time_off_ref = get_department_time_off_ref(company, department) time_off = time_off_ref.get() full_time_off_dict = time_off.to_dict() time_off_list = full_time_off_dict_to_list(full_time_off_dict) time_off_requests = {'time_off_requests': time_off_list} serializer = FullTimeOffSerializer(time_off_requests).data return Response(serializer)
def post(self, request): meta = request.META user = request.user try: check_perms(meta, user, Permission.superuser, None, None) except ValueError as e: print(e) return HttpResponseForbidden() data = request.data company = org_names_filter(data['name']) departments = [] for department in data['departments']: departments.append(org_names_filter(department)) company_dict = company_to_dict(company, departments) add_company(company_dict) return Response({'data': data})
def post(self, request): meta = request.META user = request.user data = request.data company = org_names_filter(data['company']) email = encode_email(data['userEmail']) try: check_perms(meta, user, Permission.basic, company, email) except ValueError as e: print(e) return HttpResponseForbidden() sunday = data['sunday'] monday = data['monday'] tuesday = data['tuesday'] wednesday = data['wednesday'] thursday = data['thursday'] friday = data['friday'] saturday = data['saturday'] min_max_hours = data['hours'] min_max_shifts = data['shifts'] availability_days = [ sunday, monday, tuesday, wednesday, thursday, friday, saturday ] availability_dict = availability_to_dict(availability_days, min_max_hours, min_max_shifts) set_availability(availability_dict, company, email) return Response({'data': data})