Example #1
0
    def get(self):
        user = users.get_current_user()
        if not user:
            self.redirect(users.create_login_url(self.request.uri))
            return
        elif not gapps.is_user_authorized(user):
            self.redirect('/bad-user')
            return

        csrf_token = helpers.get_csrf_token(self.request)

        volunteer_interests = gapps.get_volunteer_interests()
        skills_categories = gapps.get_skills_categories()

        template_values = {
            'FIELDS': config.FIELDS,
            'csrf_token': csrf_token,
            'volunteer_interests': volunteer_interests,
            'skills_categories': skills_categories,
            'config': config,
        }
        template = JINJA_ENVIRONMENT.get_template('renew-member.jinja')

        helpers.set_csrf_cookie(self.response, csrf_token)
        self.response.write(template.render(template_values))
Example #2
0
    def get(self):
        user = users.get_current_user()
        if not user:
            self.redirect(users.create_login_url(self.request.uri))
            return
        elif not gapps.is_user_authorized(user):
            self.redirect('/bad-user')
            return

        csrf_token = helpers.get_csrf_token(self.request)

        volunteer_interests = gapps.get_volunteer_interests()
        skills_categories = gapps.get_skills_categories()

        template_values = {
            'FIELDS': config.FIELDS,
            'csrf_token': csrf_token,
            'volunteer_interests': volunteer_interests,
            'skills_categories': skills_categories,
            'config': config,
        }
        template = JINJA_ENVIRONMENT.get_template('new-member.jinja')

        helpers.set_csrf_cookie(self.response, csrf_token)
        self.response.write(template.render(template_values))
Example #3
0
    def post(self):
        helpers.check_csrf(self.request)

        user = users.get_current_user()
        if not user or not gapps.is_user_authorized(user):
            detail = 'user not authorized' if user else 'user not logged in'
            webapp2.abort(401, detail=detail)

        gapps.authorize_new_user(self.request, user)

        self.response.write('success')
Example #4
0
    def post(self):
        helpers.check_csrf(self.request)

        user = users.get_current_user()
        if not user or not gapps.is_user_authorized(user):
            detail = 'user not authorized' if user else 'user not logged in'
            webapp2.abort(401, detail=detail)

        gapps.authorize_new_user(self.request, user)

        self.response.write('success')
Example #5
0
def user_loader(email: str) -> Optional[User]:
    """Create a User object from the given email. Returns None if the user is not found --
    which means it is not authorized.
    """
    if not gapps.is_user_authorized(email):
        logging.warning(f"auth.user_loader: user not authorized: {email}")
        return None

    logging.debug(f"auth.user_loader: loading {email}")
    user = User()
    user.id = email
    return user
Example #6
0
    def get(self):
        user = users.get_current_user()
        if not user or not gapps.is_user_authorized(user):
            detail = 'user not authorized' if user else 'user not logged in'
            webapp2.abort(401, detail=detail)

        all_members = gapps.get_all_members()
        fields = config.fields_to_dict(config.MEMBER_FIELDS)
        res = {'fields': fields, 'members': all_members}

        self.response.headers['Content-Type'] = 'application/json'
        self.response.write(webapp2_extras.json.encode(res))
Example #7
0
    def get(self):
        user = users.get_current_user()
        if not user or not gapps.is_user_authorized(user):
            detail = 'user not authorized' if user else 'user not logged in'
            webapp2.abort(401, detail=detail)

        all_members = gapps.get_all_members()
        fields = config.fields_to_dict(config.MEMBER_FIELDS)
        res = {'fields': fields, 'members': all_members}

        self.response.headers['Content-Type'] = 'application/json'
        self.response.write(webapp2_extras.json.encode(res))
Example #8
0
    def get(self):
        user = users.get_current_user()
        if not user:
            self.redirect(users.create_login_url(self.request.uri))  # pylint: disable=E1101
            return
        elif not gapps.is_user_authorized(user):
            self.redirect('/bad-user')
            return

        template_values = {
            'config': config,
        }
        template = JINJA_ENVIRONMENT.get_template('map-members.jinja')

        self.response.write(template.render(template_values))
Example #9
0
    def get(self):
        user = users.get_current_user()
        if not user:
            self.redirect(users.create_login_url(self.request.uri))  # pylint: disable=E1101
            return
        elif not gapps.is_user_authorized(user):
            self.redirect('/bad-user')
            return

        template_values = {
            'config': config,
        }
        template = JINJA_ENVIRONMENT.get_template('map-members.jinja')

        self.response.write(template.render(template_values))
Example #10
0
    def post(self):
        helpers.check_csrf(self.request)

        user = users.get_current_user()
        if not user or not gapps.is_user_authorized(user):
            detail = 'user not authorized' if user else 'user not logged in'
            webapp2.abort(401, detail=detail)

        renew_member = gapps.member_dict_from_request(self.request,
                                                      user.email(), 'renew')
        gapps.renew_member_from_dict(renew_member)

        self.response.write('success')

        # Queue the welcome email
        taskqueue.add(url='/tasks/renew-member-mail', params=renew_member)
Example #11
0
    def post(self):
        helpers.check_csrf(self.request)

        user = users.get_current_user()
        if not user or not gapps.is_user_authorized(user):
            detail = 'user not authorized' if user else 'user not logged in'
            webapp2.abort(401, detail=detail)

        renew_member = gapps.member_dict_from_request(self.request,
                                                      user.email(),
                                                      'renew')
        gapps.renew_member_from_dict(renew_member)

        self.response.write('success')

        # Queue the welcome email
        taskqueue.add(url='/tasks/renew-member-mail', params=renew_member)
Example #12
0
    def post(self):
        """Create the new member.
        '409 Conflict' is thrown if the email address is already associated
        with an existing member.
        """
        helpers.check_csrf(self.request)

        user = users.get_current_user()
        if not user or not gapps.is_user_authorized(user):
            detail = 'user not authorized' if user else 'user not logged in'
            webapp2.abort(401, detail=detail)

        new_member = gapps.member_dict_from_request(self.request, user.email(),
                                                    'join')
        join_or_renew = gapps.join_or_renew_member_from_dict(new_member)

        self.response.write('success: %s' % join_or_renew)

        # Queue the welcome email
        taskqueue.add(url='/tasks/new-member-mail', params=new_member)
Example #13
0
    def get(self):
        user = users.get_current_user()
        if not user:
            self.redirect(users.create_login_url(self.request.uri))
            return
        elif not gapps.is_user_authorized(user):
            self.redirect('/bad-user')
            return

        csrf_token = helpers.get_csrf_token(self.request)

        template_values = {
            'FIELDS': config.FIELDS,
            'csrf_token': csrf_token,
            'config': config,
        }
        template = JINJA_ENVIRONMENT.get_template('authorize-user.jinja')

        helpers.set_csrf_cookie(self.response, csrf_token)
        self.response.write(template.render(template_values))
Example #14
0
    def get(self):
        user = users.get_current_user()
        if not user:
            self.redirect(users.create_login_url(self.request.uri))
            return
        elif not gapps.is_user_authorized(user):
            self.redirect('/bad-user')
            return

        csrf_token = helpers.get_csrf_token(self.request)

        template_values = {
            'FIELDS': config.FIELDS,
            'csrf_token': csrf_token,
            'config': config,
        }
        template = JINJA_ENVIRONMENT.get_template('authorize-user.jinja')

        helpers.set_csrf_cookie(self.response, csrf_token)
        self.response.write(template.render(template_values))
Example #15
0
    def post(self):
        """Create the new member.
        '409 Conflict' is thrown if the email address is already associated
        with an existing member.
        """
        helpers.check_csrf(self.request)

        user = users.get_current_user()
        if not user or not gapps.is_user_authorized(user):
            detail = 'user not authorized' if user else 'user not logged in'
            webapp2.abort(401, detail=detail)

        new_member = gapps.member_dict_from_request(self.request,
                                                    user.email(),
                                                    'join')
        join_or_renew = gapps.join_or_renew_member_from_dict(new_member)

        self.response.write('success: %s' % join_or_renew)

        # Queue the welcome email
        taskqueue.add(url='/tasks/new-member-mail', params=new_member)