def proposition_context_creator(env): team_id = int(flask.request.form.get('team_id')) user_id = int(flask.request.form.get('user_id')) if team_id is None or user_id is None: flask.abort(401) team_proposition = first_or_none(get_or_500( env.api.team_propositions.get, token=flask_login.current_user.token, team_id=team_id, user_id=user_id)) return dict(team_proposition=team_proposition)
def remove_team_member_context(env): team_id = int(flask.request.form.get('team_id')) user_id = int(flask.request.form.get('user_id')) if team_id is None or user_id is None: flask.abort(401) team = get_or_404(env.api.teams.get_single, team_id=team_id) membership = first_or_none(get_or_500(env.api.team_memberships.get, team_id=team.id, user_id=user_id)) return dict(team=team, membership=membership)
def invite_to_friends(env, user): me = flask_login.current_user result = get_or_500(env.api.friendship_invites.create, token=me.token, from_user_id=me.id, to_user_id=user.id) if result: Flash.success(gettext("Succesfully invited user to friends!")) else: Flash.error(gettext("Unable to add user to friends")) # TODO - return to referrer return flask.redirect(flask.url_for('users.user_view', user_id=user.id))
def create_context(self, env, **kwargs): params = {} self._translate_params(env, kwargs) for name in self.allowed_params: if name in kwargs: params[name] = kwargs[name] continue self._add_from_request_args(name, params) if self.include_token: self._add_token(params) return {self.out_name: get_or_500(self.view_method, **params)}
def only_team_member(env, kwargs): logged_user = flask_login.current_user if not logged_user.is_authenticated(): return False if 'team' in kwargs: team_id = kwargs['team'].id elif 'team_id' in flask.request.view_args: team_id = kwargs['team_id'] else: raise EnvironmentError('No team or team_id in view params') membership = first_or_none(get_or_500(env.api.team_memberships.get, team_id=team_id, user_id=logged_user.id)) return membership is not None
def notifications_context(env): user = flask_login.current_user notificiations = get_or_500(env.api.notifications.get, token=user.token, user_id=user.id) pagination = Pagination.create_from_model_list(notificiations) return dict(notifications=notificiations, pagination=pagination)
def user_edit_friendship_context(env, user_id): me = flask_login.current_user return dict( user=get_or_404(env.api.users.get_single, user_id=user_id, token=me.token), friendship_invite=first_or_none(get_or_500(env.api.friendship_invites.get, token=me.token, from_user_id=me.id, to_user_id=user_id)), friendship=first_or_none(get_or_500(env.api.friendships.get, token=me.token, user_id=me.id, to_user_id=user_id)))