Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.54 KB | None | 0 0
  1. WEEKDAYS = [
  2. (1, _("Monday")),
  3. (2, _("Tuesday")),
  4. (3, _("Wednesday")),
  5. (4, _("Thursday")),
  6. (5, _("Friday")),
  7. (6, _("Saturday")),
  8. (7, _("Sunday")),
  9. ]
  10.  
  11. class OpeningHours(models.Model):
  12. user = models.ForeignKey(User)
  13. weekday = models.IntegerField(choices=WEEKDAYS)
  14. from_hour = models.TimeField()
  15. to_hour = models.TimeField()
  16. class Meta:
  17. unique_together = (('user', 'weekday'),)
  18.  
  19. UserOpeningHoursFormSet = formset_factory(UserOpeningHoursForm, extra=0)
  20. hours = [{
  21. 'weekday': day,
  22. 'from_hour': '08:00',
  23. 'to_hour': '18:00',
  24. } for day in range(1, 8)]
  25. formset = UserOpeningHoursFormSet(initial=hours)
  26.  
  27. user_hours = request.user.openinghours_set.all()
  28.  
  29. weekday: Monday
  30. from_hour: '09:00' # user_set
  31. to_hour: '19:00' # user_set
  32.  
  33. weekday: Tuesday
  34. from_hour: # default initial value
  35. to_hour: # default initial value
  36.  
  37. weekday: Wednesday
  38. from_hour: # default initial value
  39. to_hour: # default initial value
  40.  
  41. weekday: Thursday
  42. from_hour: '13:00' # user_set
  43. to_hour: '15:00' # user_set
  44.  
  45. weekday: Friday
  46. from_hour: # default initial value
  47. to_hour: # default initial value
  48.  
  49. weekday: Saturday
  50. from_hour: # default initial value
  51. to_hour: # default initial value
  52.  
  53. hours = [
  54. {'weekday': day, 'from_hour': '08:00', 'to_hour': '18:00'}
  55. for day in range(1, 8) if not any(request.user.openinghours_set.filter(weekday=day))
  56. else
  57. {'weekday': day, 'from_hour': request.user.openinghours_set.filter(weekday=day).from_hour,
  58. 'to_hour': request.user.openinghours_set.filter(weekday=day).to_hour}
  59. ]
  60.  
  61. hours = []
  62.  
  63. openinghours_set = list(request.user.openinghours_set.all())
  64. for day in range(1, 8):
  65. for openinghours in openinghours_set:
  66. if openinghours.weekday == day:
  67. hours.append({ fill from *openinghours* })
  68. break
  69. else:
  70. hours.append({ fill with default values })
  71.  
  72. formset = UserOpeningHoursModelFormSet(queryset=request.user.openinghours_set.filter())
  73.  
  74. UserOpeningHoursFormSet = modelformset_factory(UserOpeningHoursForm, extra=7, max_num=7)
  75. formset = UserOpeningHoursModelFormSet(initial=hours,
  76. queryset=request.user.openinghours_set.filter())
  77.  
  78. user_hours = request.user.openinghours_set
  79. hours = []
  80. for day_id in range(0, 6):
  81. item = {'weekday': day_id, 'from_hour': '08:00', 'to_hour': '18:00'}
  82. if any(user_hours.filter(weekday=day_id)):
  83. my_item = user_hours.get(weekday=day_id)
  84. item['from_hour'] = my_item.from_hour.strftime('%H:%M')
  85. item['to_hour'] = my_item.to_hour.strftime('%H:%M')
  86. hours.append(item)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement