From 4cbebb9c5a133ed0dc70c22d6151fc1a8c8418ee Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Mon, 9 Jul 2018 08:32:43 +0200 Subject: [PATCH] Connect events with profiles instead of local users --- calsocial/calendar_system/gregorian.py | 5 +++-- calsocial/models.py | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/calsocial/calendar_system/gregorian.py b/calsocial/calendar_system/gregorian.py index cb15dc2..d1de8fb 100644 --- a/calsocial/calendar_system/gregorian.py +++ b/calsocial/calendar_system/gregorian.py @@ -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) diff --git a/calsocial/models.py b/calsocial/models.py index bd274dd..3ad7559 100644 --- a/calsocial/models.py +++ b/calsocial/models.py @@ -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'' + return f'' class UserSetting(db.Model): # pylint: disable=too-few-public-methods