Example #1
0
 def unshare(self, plan, user_id):
     user_repository = UserRepository()
     plan_share_repository = PlanShareRepository()
     result = ChangeResult()
     user = user_repository.find(user_id)
     if not user:
         result.errors.append("No user with id {0} found".format(user_id))
     else:
         existing = query(PlanShares.query.filter_by(plan_id=plan.id, user_id=user.id).all()).single_or_default(
             default=None)
         if existing:
             plan_share_repository.delete(existing.id)
     return result
Example #2
0
 def share(self, plan, user_id, permission):
     user_repository = UserRepository()
     plan_share_repository = PlanShareRepository()
     result = ChangeResult()
     user = user_repository.find(user_id)
     if not user:
         result.errors.append("No user with id {0} found".format(user_id))
     else:
         existing = query(PlanShares.query.filter_by(plan_id=plan.id, user_id=user.id).all()).single_or_default(
             default=None)
         if existing:
             existing.permission = permission
             result.add_child_result(plan_share_repository.add_or_update(existing))
         else:
             plan_share = PlanShares()
             plan_share.plan_id = plan.id
             plan_share.user_id = user.id
             plan_share.permission = permission
             result.add_child_result(plan_share_repository.add_or_update(plan_share))
     return result