예제 #1
0
    def _make_form(self):
        start_date = None
        force_today = False
        if 'start_date' in request.args:
            force_today = True
            try:
                start_date = datetime.strptime(request.args['start_date'], '%Y-%m-%d').date()
            except ValueError:
                pass
            else:
                if not self._room.check_advance_days(start_date, user=session.user, quiet=True):
                    start_date = date.today()
                    flash(_(u"This room cannot be booked at the desired date, using today's date instead."), 'warning')

        self.past_date = start_date is not None and start_date < date.today()
        if start_date is None or start_date <= date.today():
            start_dt, end_dt, self.date_changed = get_default_booking_interval(
                duration=self.DEFAULT_BOOKING_DURATION,
                precision=self.DEFAULT_START_TIME_PRECISION,
                force_today=force_today
            )
            self.date_changed = self.date_changed and not self.past_date
        else:
            start_dt = datetime.combine(start_date, Location.working_time_start)
            end_dt = datetime.combine(start_date, Location.working_time_end)
            self.date_changed = False
        defaults = FormDefaults(room_id=self._room.id,
                                start_dt=start_dt,
                                end_dt=end_dt)
        return self._make_confirm_form(self._room, defaults=defaults, form_class=NewBookingSimpleForm)
예제 #2
0
    def _make_form(self):
        start_date = None
        force_today = False
        if 'start_date' in request.args:
            force_today = True
            try:
                start_date = datetime.strptime(request.args['start_date'], '%Y-%m-%d').date()
            except ValueError:
                pass

        self.past_date = start_date is not None and start_date < date.today()
        if start_date is None or start_date <= date.today():
            start_dt, end_dt, self.date_changed = get_default_booking_interval(
                duration=self.DEFAULT_BOOKING_DURATION,
                precision=self.DEFAULT_START_TIME_PRECISION,
                force_today=force_today
            )
            self.date_changed = self.date_changed and not self.past_date
        else:
            start_dt = datetime.combine(start_date, Location.working_time_start)
            end_dt = datetime.combine(start_date, Location.working_time_end)
            self.date_changed = False
        defaults = FormDefaults(room_id=self._room.id,
                                start_dt=start_dt,
                                end_dt=end_dt,
                                booked_for_user=session.user)

        return self._make_confirm_form(self._room, defaults=defaults, form_class=NewBookingSimpleForm)
예제 #3
0
    def _make_form(self):
        start_date = None
        force_today = False
        if 'start_date' in request.args:
            force_today = True
            try:
                start_date = datetime.strptime(request.args['start_date'], '%Y-%m-%d').date()
            except ValueError:
                pass
            else:
                if not self._room.check_advance_days(start_date, user=session.user, quiet=True):
                    start_date = date.today()
                    flash(_(u"This room cannot be booked at the desired date, using today's date instead."), 'warning')

        self.past_date = start_date is not None and start_date < date.today()
        if start_date is None or start_date <= date.today():
            start_dt, end_dt, self.date_changed = get_default_booking_interval(
                duration=self.DEFAULT_BOOKING_DURATION,
                precision=self.DEFAULT_START_TIME_PRECISION,
                force_today=force_today
            )
            self.date_changed = self.date_changed and not self.past_date
        else:
            start_dt = datetime.combine(start_date, Location.working_time_start)
            end_dt = datetime.combine(start_date, Location.working_time_end)
            self.date_changed = False
        defaults = FormDefaults(room_id=self._room.id,
                                start_dt=start_dt,
                                end_dt=end_dt)
        return self._make_confirm_form(self._room, defaults=defaults, form_class=NewBookingSimpleForm)
예제 #4
0
    def _make_form(self):
        start_date = None
        force_today = False
        if 'start_date' in request.args:
            force_today = True
            try:
                start_date = datetime.strptime(request.args['start_date'],
                                               '%Y-%m-%d').date()
            except ValueError:
                pass

        self.past_date = start_date is not None and start_date < date.today()
        if start_date is None or start_date <= date.today():
            start_dt, end_dt, self.date_changed = get_default_booking_interval(
                duration=self.DEFAULT_BOOKING_DURATION,
                precision=self.DEFAULT_START_TIME_PRECISION,
                force_today=force_today)
            self.date_changed = self.date_changed and not self.past_date
        else:
            start_dt = datetime.combine(start_date,
                                        Location.working_time_start)
            end_dt = datetime.combine(start_date, Location.working_time_end)
            self.date_changed = False
        defaults = FormDefaults(room_id=self._room.id,
                                start_dt=start_dt,
                                end_dt=end_dt,
                                booked_for_user=session.user)

        return self._make_confirm_form(self._room,
                                       defaults=defaults,
                                       form_class=NewBookingSimpleForm)
예제 #5
0
 def _get_select_room_form_defaults(self):
     start_dt, end_dt, date_changed = get_default_booking_interval(duration=self.DEFAULT_BOOKING_DURATION,
                                                                   precision=self.DEFAULT_START_TIME_PRECISION,
                                                                   force_today=False)
     return FormDefaults(start_dt=start_dt, end_dt=end_dt), date_changed
예제 #6
0
 def _get_select_room_form_defaults(self):
     start_dt, end_dt, date_changed = get_default_booking_interval(duration=self.DEFAULT_BOOKING_DURATION,
                                                                   precision=self.DEFAULT_START_TIME_PRECISION,
                                                                   force_today=False)
     return FormDefaults(start_dt=start_dt, end_dt=end_dt), date_changed