Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- WEEKDAYS = [
- (1, _("Monday")),
- (2, _("Tuesday")),
- (3, _("Wednesday")),
- (4, _("Thursday")),
- (5, _("Friday")),
- (6, _("Saturday")),
- (7, _("Sunday")),
- ]
- class OpeningHours(models.Model):
- user = models.ForeignKey(User)
- weekday = models.IntegerField(choices=WEEKDAYS)
- from_hour = models.TimeField()
- to_hour = models.TimeField()
- class Meta:
- unique_together = (('user', 'weekday'),)
- UserOpeningHoursFormSet = formset_factory(UserOpeningHoursForm, extra=0)
- hours = [{
- 'weekday': day,
- 'from_hour': '08:00',
- 'to_hour': '18:00',
- } for day in range(1, 8)]
- formset = UserOpeningHoursFormSet(initial=hours)
- user_hours = request.user.openinghours_set.all()
- weekday: Monday
- from_hour: '09:00' # user_set
- to_hour: '19:00' # user_set
- weekday: Tuesday
- from_hour: # default initial value
- to_hour: # default initial value
- weekday: Wednesday
- from_hour: # default initial value
- to_hour: # default initial value
- weekday: Thursday
- from_hour: '13:00' # user_set
- to_hour: '15:00' # user_set
- weekday: Friday
- from_hour: # default initial value
- to_hour: # default initial value
- weekday: Saturday
- from_hour: # default initial value
- to_hour: # default initial value
- hours = [
- {'weekday': day, 'from_hour': '08:00', 'to_hour': '18:00'}
- for day in range(1, 8) if not any(request.user.openinghours_set.filter(weekday=day))
- else
- {'weekday': day, 'from_hour': request.user.openinghours_set.filter(weekday=day).from_hour,
- 'to_hour': request.user.openinghours_set.filter(weekday=day).to_hour}
- ]
- hours = []
- openinghours_set = list(request.user.openinghours_set.all())
- for day in range(1, 8):
- for openinghours in openinghours_set:
- if openinghours.weekday == day:
- hours.append({ fill from *openinghours* })
- break
- else:
- hours.append({ fill with default values })
- formset = UserOpeningHoursModelFormSet(queryset=request.user.openinghours_set.filter())
- UserOpeningHoursFormSet = modelformset_factory(UserOpeningHoursForm, extra=7, max_num=7)
- formset = UserOpeningHoursModelFormSet(initial=hours,
- queryset=request.user.openinghours_set.filter())
- user_hours = request.user.openinghours_set
- hours = []
- for day_id in range(0, 6):
- item = {'weekday': day_id, 'from_hour': '08:00', 'to_hour': '18:00'}
- if any(user_hours.filter(weekday=day_id)):
- my_item = user_hours.get(weekday=day_id)
- item['from_hour'] = my_item.from_hour.strftime('%H:%M')
- item['to_hour'] = my_item.to_hour.strftime('%H:%M')
- hours.append(item)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement