Beispiel #1
0
 def get(self, uuid):
     try:
         user = users.get_metadata(uuid)
         role_list = roles.list_metadata()
     except DataRequestException as e:
         self.flash_api_errors(e.errors)
         return render_template('forms/admin/user.html')
     else:
         self.set_template_args(user, role_list)
     return render_template('forms/admin/user.html', **self.template_args)
Beispiel #2
0
 def get(self, uuid, **kwargs):
     """Form for adding roles to a user.
     """
     try:
         user = users.get_metadata(uuid)
         all_roles = roles.list_metadata()
     except DataRequestException as e:
         self.flash_api_errors(e.errors)
         return render_template(self.template)
     else:
         self.set_template_args(user, all_roles)
     return render_template(self.template, **self.template_args, **kwargs)
Beispiel #3
0
 def get(self, uuid):
     user = users.get_metadata(uuid).json()
     if 'errors' in user:
         user = None
     else:
         role_list = roles.list_metadata().json()
         role_map = {role['role_id']: role for role in role_list}
         user['roles'] = {
             k: {
                 'added_to_user': v,
                 **role_map[k]
             }
             for k, v in user['roles'].items() if k in role_map
         }
     return render_template('forms/admin/user.html',
                            user=user,
                            **self.template_args())
Beispiel #4
0
 def get(self, uuid, role_id, **kwargs):
     """Confirmation view for removing a role from a user
     """
     # set a redirect link, because we can be directed here
     # from a role or user page.
     redirect_link = request.headers.get('Referer', url_for('admin.roles'))
     try:
         user = users.get_metadata(uuid)
     except DataRequestException:
         # Check if the user is readable. For roles shared outside
         # an org this may not be true, but we still need to pass
         # user_id to the template for building urls and display.
         user = {'user_id': uuid}
     try:
         role = roles.get_metadata(role_id)
     except DataRequestException as e:
         self.flash_api_errors(e.errors)
         return redirect(redirect_link)
     session['redirect_link'] = redirect_link
     self.set_template_args(user, role, redirect_link)
     return render_template(self.template, **kwargs, **self.template_args)