def edit():

    """
    All of this is test code, to check database and input correctness.
    """
    weekdays = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
    users = User.query.all()

    if request.method == 'POST':
        for day in weekdays:
            shifts_per_day = request.form.getlist(day.lower() + "-time")

            for i in range(len(shifts_per_day)):
                if shifts_per_day[i] is not "":
                    time = datetime.strptime(shifts_per_day[i], "%I:%M")
                    shift = beginning_of_week(days=weekdays.index(day)).replace(
                        hour=time.hour,
                        minute=time.minute,
                        second=0
                    )
                    user = users[i]

                    Shift(user.id, shift, shift + timedelta(hours=5)).save_to_database()

        return redirect(url_for('.view'))

    return render_template('schedule/edit_schedule.html', weekdays=weekdays, users=users)
def view(start_date, week_length):

    if start_date:
        start_datetime = datetime.fromtimestamp(start_date)
    else:
        start_datetime = beginning_of_week(days=0)
    if week_length:
        end_datetime = end_of_week(days=(week_length-7))
    else:
        week_length = 7
        end_datetime = end_of_week(days=-1)

    weekdays = []
    for i in range(week_length):
        weekdays.append(start_datetime + timedelta(days=i))

    users = User.query.all()
    schedules = []
    for user in users:
        schedules.append(Schedule(user.id, start_datetime, end_datetime))

    return render_template('schedule/view_schedule.html', week_length=week_length, weekdays=weekdays, schedules=schedules)
Beispiel #3
0
    def test_get_all_shifts_before_end_time(self):

        user_id = 5
        first_start = beginning_of_week()
        first_end = first_start + timedelta(hours=5)
        second_start = first_start + timedelta(hours=10)
        second_end = second_start + timedelta(hours=5)

        shift1 = Shift(user_id, first_start, first_end)
        shift1.save_to_database()

        shift2 = Shift(user_id, second_start, second_end)
        shift2.save_to_database()

        search_end = second_end - timedelta(hours=1)

        shift_list = Shift.get_shifts_by_user_id(user_id, end_time=search_end)

        self.assertEqual(len(shift_list), 1)

        db.session.delete(shift1)
        db.session.delete(shift2)
        db.session.commit()