Ejemplo n.º 1
0
 def can_quit(self):
     if self._activity.is_past:
         return False
     if not self._user:
         return False
     attender = Attender.get_unique(activity=self._activity, user=self._user)
     return attender is not None
Ejemplo n.º 2
0
 def _quit(self):
     if not self.get_activity_access().can_quit():
         message = "Current user cannot quit the activity."
         logging.error(message)
         raise BadRequestError(self.request, message)
     attender = Attender.get_unique(activity=self.get_activity(), user=self.current_user)
     if not attender:
         message = "Cannot find attender for current user."
         logging.error(message)
         raise BadRequestError(self.request, message)
     attender.delete()
Ejemplo n.º 3
0
 def can_attend(self):
     if self._activity.is_past or self._activity.is_closed:
         return False
     if not self._user:
         return False
     if not self._group_access.member or not self._group_access.member.is_approved:
         return False
     if self._activity.places and self._activity.headcount >= self._activity.places:
         return False
     attender = Attender.get_unique(activity=self._activity, user=self._user)
     return attender is None