28 lines
770 B
Python
28 lines
770 B
Python
from django.contrib.auth.models import User
|
|
import django.db
|
|
from django.db import models
|
|
from django.utils.timezone import localtime
|
|
import datetime
|
|
|
|
|
|
class OfficeHours(models.Model):
|
|
begins_at = models.DateTimeField()
|
|
ends_at = models.DateTimeField()
|
|
user = models.ForeignKey(User, on_delete=django.db.models.deletion.CASCADE)
|
|
|
|
@classmethod
|
|
def parse_time_str(cls, time_srt):
|
|
return datetime.datetime.strptime(time_srt, '%Y-%m-%d %H:%M')
|
|
|
|
@classmethod
|
|
def get_ends_at(cls, begins_at):
|
|
return begins_at + datetime.timedelta(hours=9.5)
|
|
|
|
@property
|
|
def get_begins_at_str(self):
|
|
return localtime(self.begins_at).strftime('%Y-%m-%d %H:%M')
|
|
|
|
@property
|
|
def get_ends_at_str(self):
|
|
return localtime(self.ends_at).strftime('%Y-%m-%d %H:%M')
|