Connect events with profiles instead of local users

This commit is contained in:
Gergely Polonkai 2018-07-09 08:32:43 +02:00
parent 89605538c2
commit 4cbebb9c5a
2 changed files with 7 additions and 6 deletions

View File

@ -199,12 +199,13 @@ class GregorianCalendar(CalendarSystem):
"""Returns all events for a given day
"""
from ..models import Event
from ..models import Event, Profile
events = Event.query
if user:
events = events.filter(Event.user == user)
events = events.join(Profile) \
.filter(Profile.user == user)
start_timestamp = date.replace(hour=0, minute=0, second=0, microsecond=0)
end_timestamp = start_timestamp + timedelta(days=1)

View File

@ -206,10 +206,10 @@ class Event(db.Model):
#: The UUID of the event. This is what is presented to the users and used in federation.
event_uuid = db.Column(db.String(length=40), unique=True, nullable=False, default=generate_uuid)
#: The ID of the user who created the event
user_id = db.Column(db.Integer(), db.ForeignKey('users.id'), nullable=False)
#: The ID of the profile who created the event
profile_id = db.Column(db.Integer(), db.ForeignKey('profiles.id'), nullable=False)
user = db.relationship('User', backref=db.backref('events', lazy='dynamic'))
profile = db.relationship('Profile', backref=db.backref('events', lazy='dynamic'))
#: The title of the event
title = db.Column(db.Unicode(length=200), nullable=False)
@ -263,7 +263,7 @@ class Event(db.Model):
return self.__as_tz(self.end_time, as_timezone=user.timezone)
def __repr__(self):
return f'<Event {self.id} ({self.title}) of {self.user}>'
return f'<Event {self.id} ({self.title}) of {self.profile}>'
class UserSetting(db.Model): # pylint: disable=too-few-public-methods