def claim_req(request): mcid = normalize_mcid(request.REQUEST['mcid']) user = User.objects.get(mcid=mcid) if request.POST: form = ClaimForm(request.POST) if form.is_valid(): user.email = form.clean_data['email'] user.set_password(form.clean_data['password']) user.acctype = 'CLAIMED' user.save() return render_to_response( 'users/claimed.html', default_context(request, mcuser=user, password=form.clean_data['password'])) else: initial = user.__dict__.copy() initial['password'] = random_password() form = ClaimForm(initial=initial) return render_to_response('users/claim.html', default_context(request, form=form, mcuser=user))
def create_req(request): """Form for registering a new user. """ if request.POST: mcid = normalize_mcid(request.POST['mcid']) form = CreateForm(request.POST) if form.is_valid(): object = User() object.mcid = mcid object.updatetime = 0 object.ccrlogupdatetime = 0 object.acctype = 'SPONSORED' object.first_name = form.clean_data['first_name'] object.last_name = form.clean_data['last_name'] object.enable_simtrak = False object.enable_dod = False object.save() return submit_redirect(request, object, save_redirect='user?mcid=%(mcid)s', edit_redirect='edit?mcid=%(mcid)s') else: mcid = mcid_generator.next_mcid_str() form = CreateForm() return render_to_response('users/create.html', default_context(request, form=form, mcid=mcid))
def user_req(request): try: mcid = normalize_mcid(request.GET["mcid"]) user = User.objects.get(mcid=mcid) except KeyError: return search_req(request) except User.DoesNotExist: return search(request, mcid) else: ts = datetime.fromtimestamp(user.ccrlogupdatetime) where = [ "groupmembers.memberaccid = %s" % mcid, "groupmembers.groupinstanceid = groupinstances.groupinstanceid", ] member_of = Group.objects.extra(where=where, tables=["groupmembers"]) if member_of: member_of = member_of[0] else: member_of = None where = ["external_users.mcid = %s" % mcid, "external_users.provider_id = identity_providers.id"] accounts = IdentityProvider.objects.extra( where=where, select={"username": "******"}, tables=["external_users"] ) accounts = [augment(idp) for idp in accounts] return render_to_response( "users/user.html", default_context(request, mcuser=user, ccrlogupdatetime=ts, member_of=member_of, accounts=accounts), )
def addgroup_req(request): mcid = normalize_mcid(request.REQUEST["mcid"]) user = User.objects.get(mcid=mcid) if request.POST: form = GroupForm(request.POST) if form.is_valid(): g = create_group( form.clean_data["name"], normalize_mcid(form.clean_data["accid"]), "https://" + request.META["SERVER_NAME"], ) g.save() return submit_redirect( request, g, create_redirect="addgroup?mcid=%s" % mcid, edit_redirect="../groups/edit?id=%(groupinstanceid)s", save_redirect="groups?mcid=%s" % mcid, ) else: form = GroupForm(initial=dict(accid=pretty_mcid(mcid))) return render_to_response("users/addgroup.html", default_context(request, mcuser=user, form=form))
def groups_req(request): """search and/or list all groups, so this user can be added to specific groups """ mcid = normalize_mcid(request.REQUEST["mcid"]) user = User.objects.get(mcid=mcid) where = ["groupmembers.memberaccid = %s" % mcid, "groupmembers.groupinstanceid = groupinstances.groupinstanceid"] member_of = Group.objects.extra(where=where, tables=["groupmembers"]) q = request.REQUEST.get("q", "") if q: groups = Group.objects.filter(name__icontains=q) else: groups = Group.objects.order_by("name") return object_list( request, queryset=groups, template_name="users/groups.html", paginate_by=10, allow_empty=True, extra_context=default_context(request, mcuser=user, member_of=member_of, q=q), )
def upload_req(request): from base64 import b64decode if request.FILES and 'csv' in request.FILES: s = request.FILES['csv']['content'] elif 'url' in request.REQUEST: s = urlopen(request.REQUEST['url']).read() else: return render_to_response('idps/upload.html', default_context(request)) r = reader(StringIO(s)) # okay to remove first column, the 'id' field columns = r.next() assert columns[0] == 'id' if 'png16x16' in columns: image_row = columns.index('png16x16') else: image_row = None columns = columns[1:] sql = "INSERT INTO identity_providers (" + ', '.join(columns) + \ ") VALUES (" + ', '.join(['%s'] * len(columns)) + ')' for row in r: if image_row is not None and row[image_row]: row[image_row] = b64decode(row[image_row]) sql_execute(sql, *row[1:]) return HttpResponseRedirect('.')
def add_req(request): if request.POST: request.POST.update(request.FILES) form = IDPForm(request.POST) if form.is_valid(): object = IdentityProvider() object.source_id = form.clean_data['source_id'] object.name = form.clean_data['name'] object.domain = form.clean_data['domain'] object.logouturl = form.clean_data['logouturl'] object.website = form.clean_data['website'] object.format = form.clean_data['format'] object.save() if 'logo' in request.FILES: update_logo(object.id, request.FILES['logo']) return submit_redirect(request, object) else: form = IDPForm() return render_to_response('idps/add.html', default_context(request, form=form))
def disable_req(request): if request.POST: if "disable" in request.POST: mcid = normalize_mcid(request.POST["mcid"]) user = User.objects.get(mcid=mcid) sql_execute("DELETE FROM groupmembers WHERE memberaccid=%s", user.mcid) user.sha1 = None user.acctype = "DISABLED" user.save() return HttpResponseRedirect(".") mcid = normalize_mcid(request.GET["mcid"]) user = User.objects.get(mcid=mcid) ts = datetime.fromtimestamp(user.ccrlogupdatetime) where = ["groupmembers.memberaccid = %s" % mcid, "groupmembers.groupinstanceid = groupinstances.groupinstanceid"] member_of = Group.objects.extra(where=where, tables=["groupmembers"]) return render_to_response( "users/disable.html", default_context(request, mcuser=user, ccrlogupdatetime=ts, member_of=member_of) )
def create_req(request): """Form for registering a new user. """ if request.POST: mcid = normalize_mcid(request.POST["mcid"]) form = CreateForm(request.POST) if form.is_valid(): object = User() object.mcid = mcid object.updatetime = 0 object.ccrlogupdatetime = 0 object.acctype = "SPONSORED" object.first_name = form.clean_data["first_name"] object.last_name = form.clean_data["last_name"] object.enable_simtrak = False object.enable_dod = False object.save() return submit_redirect( request, object, save_redirect="user?mcid=%(mcid)s", edit_redirect="edit?mcid=%(mcid)s" ) else: mcid = mcid_generator.next_mcid_str() form = CreateForm() return render_to_response("users/create.html", default_context(request, form=form, mcid=mcid))
def index_req(request): return object_list(request, queryset = Certificate.objects.all(), template_name = 'security/index.html', paginate_by = 20, allow_empty = True, extra_context = default_context(request))
def cert_req(request): id = request.REQUEST['id'] cert = Certificate.objects.get(id = id) if request.POST: request.POST.update(request.FILES) form = CertForm(request.POST) if form.is_valid(): text = form.clean_data['text'] file = form.clean_data['file'] if file: file = file.get('content') crt = text or file cert.crt = crt cert.save() return HttpResponseRedirect('.') else: form = CertForm(initial = dict(id = cert.id)) return render_to_response('security/cert.html', default_context(request, form=form, cert=cert))
def index_req(request): return object_list(request, queryset = ExternalApplication.objects.order_by('ea_name'), template_name = 'applications/index.html', paginate_by = 20, allow_empty = True, extra_context = default_context(request))
def register_application_req(request): form = AppRegistrationForm(request.POST) if not form.is_valid(): return render_to_response('applications/register.html', default_context(request, form=form)) ip = request.META['REMOTE_ADDR'] code = request.POST['code'] name = request.POST['name'] email = request.POST['email'] url = request.POST['website_url'] if 'save' in request.POST and request.POST['save'] == 'Save': id = request.POST['id'] print "Updating ea " + id ea = ExternalApplication.objects.get(ea_id=id) ea.ea_name = name ea.ea_code = code ea.ea_contact_email = email ea.ea_web_site_url = url else: # Compute a random key key = sha.new(str(random.randint(0,1000000))+ip+code+name).hexdigest() secret = sha.new(str(random.randint(0,1000000))+code+ip+name).hexdigest() ea = ExternalApplication(ea_name=name,ea_code=code,ea_key=key,ea_ip_address=ip,ea_active_status='Pending',ea_secret=secret, ea_contact_email=email, ea_web_site_url=url) # add authentication token for this application at = AuthenticationToken(at_account_id=None,at_token=key,at_secret=secret) at.save() ea.save() return HttpResponseRedirect('.')
def disable_req(request): if request.POST: if 'disable' in request.POST: mcid = normalize_mcid(request.POST['mcid']) user = User.objects.get(mcid=mcid) sql_execute('DELETE FROM groupmembers WHERE memberaccid=%s', user.mcid) user.sha1 = None user.acctype = 'DISABLED' user.save() return HttpResponseRedirect('.') mcid = normalize_mcid(request.GET['mcid']) user = User.objects.get(mcid=mcid) ts = datetime.fromtimestamp(user.ccrlogupdatetime) where = [ 'groupmembers.memberaccid = %s' % mcid, 'groupmembers.groupinstanceid = groupinstances.groupinstanceid' ] member_of = Group.objects.extra(where=where, tables=['groupmembers']) return render_to_response( 'users/disable.html', default_context(request, mcuser=user, ccrlogupdatetime=ts, member_of=member_of))
def edit_req(request): id = request.REQUEST['id'].strip() object = IdentityProvider.objects.get(id=id) if request.POST: form = IDPForm(request.POST) if form.is_valid(): object.source_id = form.clean_data['source_id'] object.name = form.clean_data['name'] object.domain = form.clean_data['domain'] object.logouturl = form.clean_data['logouturl'] object.website = form.clean_data['website'] object.format = form.clean_data['format'] object.save() if 'logo' in request.FILES: update_logo(object.id, request.FILES['logo']) return submit_redirect(request, object) else: form = IDPForm(initial = object.__dict__) return render_to_response('idps/edit.html', default_context(request, form=form, object=object))
def edit_application_req(request): id = request.GET['id'] ea = ExternalApplication.objects.get(ea_id=id) form = AppRegistrationForm({'name':ea.ea_name, 'code':ea.ea_code, 'email':ea.ea_contact_email, 'website_url':ea.ea_web_site_url}) return render_to_response('applications/register.html', default_context(request, form=form, ea=ea, existing=True))
def index_req(request): cursor = sql_cursor() cursor.execute(SQL) a = cursor.fetchone() vars = default_context( request, admins_count=Admin.objects.count(), users_count=User.objects.filter(sha1__isnull=False).count(), groups_count=Group.objects.count(), idps_count=IdentityProvider.objects.count()) if a: vars['backups'] = True n = float(a[3]) if n == 0.0: n = 1.0 vars['backup_permerrs'] = int(100.0 * a[0] / n) vars['backup_temperrs'] = int(100.0 * a[1] / n) vars['backup_finished'] = int(100.0 * (a[3] - a[2]) / n) else: vars['backups'] = False return render_to_response('index.html', vars)
def add_req(request): if request.POST: request.POST.update(request.FILES) form = IDPForm(request.POST) if form.is_valid(): object = IdentityProvider() object.source_id = form.clean_data['source_id'] object.name = form.clean_data['name'] object.domain = form.clean_data['domain'] object.logouturl = form.clean_data['logouturl'] object.website = form.clean_data['website'] object.format = form.clean_data['format'] object.save() if 'logo' in request.FILES: update_logo(object.id, request.FILES['logo']) return submit_redirect(request, object) else: form = IDPForm() return render_to_response('idps/add.html', default_context(request, form=form))
def upload_req(request): from base64 import b64decode if request.FILES and 'csv' in request.FILES: s = request.FILES['csv']['content'] elif 'url' in request.REQUEST: s = urlopen(request.REQUEST['url']).read() else: return render_to_response('idps/upload.html', default_context(request)) r = reader(StringIO(s)) # okay to remove first column, the 'id' field columns = r.next() assert columns[0] == 'id' if 'png16x16' in columns: image_row = columns.index('png16x16') else: image_row = None columns = columns[1:] sql = "INSERT INTO identity_providers (" + ', '.join(columns) + \ ") VALUES (" + ', '.join(['%s'] * len(columns)) + ')' for row in r: if image_row is not None and row[image_row]: row[image_row] = b64decode(row[image_row]) sql_execute(sql, *row[1:]) return HttpResponseRedirect('.')
def index_req(request): return object_list(request, queryset=Group.objects.order_by('name'), template_name='groups/index.html', paginate_by=20, allow_empty=True, extra_context=default_context(request))
def wiz_name_req(request): id = request.REQUEST['id'] g = Group.objects.get(groupinstanceid=id) if request.POST: form = CreateNameForm(request.POST) if form.is_valid(): p = Practice.objects.get(practiceid=g.parentid) g.name = p.practicename = form.clean_data['name'] g.save() p.save() if 'prev' in request.POST: url = 'wiz_create?id=%d&mcid=%s' % (g.groupinstanceid, g.accid.mcid) else: url = 'wiz_users?id=%d' % g.groupinstanceid return HttpResponseRedirect(url) else: form = CreateNameForm(dict(name=g.name, id=g.groupinstanceid)) return render_to_response('groups/wiz_2name.html', default_context(request, form=form, id=id))
def login_as_req(request): mcid = normalize_mcid(request.GET['mcid']) user = User.objects.get(mcid=mcid) return render_to_response( 'users/login_as.html', default_context(request, mcid=pretty_mcid(mcid), mcuser=user))
def addgroup_req(request): mcid = normalize_mcid(request.REQUEST['mcid']) user = User.objects.get(mcid=mcid) if request.POST: form = GroupForm(request.POST) if form.is_valid(): g = create_group(form.clean_data['name'], normalize_mcid(form.clean_data['accid']), 'https://' + request.META['SERVER_NAME']) g.save() return submit_redirect( request, g, create_redirect='addgroup?mcid=%s' % mcid, edit_redirect='../groups/edit?id=%(groupinstanceid)s', save_redirect='groups?mcid=%s' % mcid) else: form = GroupForm(initial=dict(accid=pretty_mcid(mcid))) return render_to_response('users/addgroup.html', default_context(request, mcuser=user, form=form))
def delete_req(request): if request.POST: if 'delete' in request.POST or 'delete.x' in request.POST: id = request.POST['id'] group = Group.objects.get(groupinstanceid=id) delete_group(group) return HttpResponseRedirect('.') id = request.GET['id'] group = Group.objects.get(groupinstanceid=id) where = [ 'groupmembers.memberaccid = users.mcid', 'groupmembers.groupinstanceid = groupinstances.groupinstanceid', 'groupinstances.groupinstanceid = %s' % id ] users = User.objects.extra(where=where, tables=['groupmembers', 'groupinstances']) return render_to_response( 'groups/delete.html', default_context(request, group=group, users=users))
def wiz_name_req(request): id = request.REQUEST['id'] g = Group.objects.get(groupinstanceid = id) if request.POST: form = CreateNameForm(request.POST) if form.is_valid(): p = Practice.objects.get(practiceid = g.parentid) g.name = p.practicename = form.clean_data['name'] g.save() p.save() if 'prev' in request.POST: url = 'wiz_create?id=%d&mcid=%s' % (g.groupinstanceid, g.accid.mcid) else: url = 'wiz_users?id=%d' % g.groupinstanceid return HttpResponseRedirect(url) else: form = CreateNameForm(dict(name = g.name, id = g.groupinstanceid)) return render_to_response('groups/wiz_2name.html', default_context(request, form=form, id=id))
def index_req(request): return object_list(request, queryset = Entry.objects.order_by('datetime', 'id'), template_name = 'logs/index.html', paginate_by = 20, allow_empty = True, extra_context = default_context(request))
def wizard(request, form_type, template, next=None, prev=None, initial=None, context=None): context = context or dict() if request.POST: form = form_type(request.POST) if form.is_valid(): save_form_properties(form) if next and 'next' in request.POST: return HttpResponseRedirect(next) elif prev and 'prev' in request.POST: return HttpResponseRedirect(prev) else: form = form_type(initial=initial or initial_values()) context.update(default_context(request, form=form)) return render_to_response(template, context)
def password_req(request): """Allows the user to change his/her password. If the existing password matches, and both new password fields match, then the password is changed. A ?next=/... query parameter can be added, so after the password is changed, the user is redirected back to the original referring page. """ next = request.POST.get('next', request.META.get('HTTP_REFERER', DEFAULT_REDIRECT)) args = default_context(request, username=request.user.username, next=next) try: password = request.POST['password'] pw1 = request.POST['pw1'] pw2 = request.POST['pw2'] except KeyError: pass else: if pw1 != pw2: args['mismatch'] = True elif not request.user.check_password(password): args['error'] = True else: request.user.set_password(pw1) request.user.save() return HttpResponseRedirect(next) return render_to_response('registration/password.html', args)
def edit_req(request): id = request.REQUEST['id'].strip() object = IdentityProvider.objects.get(id=id) if request.POST: form = IDPForm(request.POST) if form.is_valid(): object.source_id = form.clean_data['source_id'] object.name = form.clean_data['name'] object.domain = form.clean_data['domain'] object.logouturl = form.clean_data['logouturl'] object.website = form.clean_data['website'] object.format = form.clean_data['format'] object.save() if 'logo' in request.FILES: update_logo(object.id, request.FILES['logo']) return submit_redirect(request, object) else: form = IDPForm(initial=object.__dict__) return render_to_response( 'idps/edit.html', default_context(request, form=form, object=object))
def create_req(request): """Form for registering a new user. """ if request.POST: form = CreateForm(request.POST) else: form = CreateForm() if form.is_valid(): if form.clean_data['pw1'] != form.clean_data['pw2']: form.errors['pw2'] = ["Must match password above"] else: try: user = User.objects.create_user(form.clean_data['username'], form.clean_data['email'], form.clean_data['pw1']) except: form.errors['username'] = ["Username already exists"] else: user.first_name = form.clean_data['first_name'] user.last_name = form.clean_data['last_name'] user.is_staff = True user.save() return submit_redirect(request, user, edit_redirect = 'edit?id=%(id)s') return render_to_response('admins/create.html', default_context(request, form=form))
def index_req(request): return object_list(request, queryset = User.objects.order_by('username'), template_name = 'admins/index.html', paginate_by = 20, allow_empty = True, extra_context = default_context(request))
def password_req(request): """Allows the user to change his/her password. If the existing password matches, and both new password fields match, then the password is changed. A ?next=/... query parameter can be added, so after the password is changed, the user is redirected back to the original referring page. """ next = request.POST.get('next', request.META.get('HTTP_REFERER', DEFAULT_REDIRECT)) args = default_context(request, username=request.user.username, next=next) try: password = request.POST['password'] pw1 = request.POST['pw1'] pw2 = request.POST['pw2'] except KeyError: pass else: if pw1 != pw2: args['mismatch'] = True elif not request.user.check_password(password): args['error'] = True else: request.user.set_password(pw1) request.user.save() return HttpResponseRedirect(next) return render_to_response('registration/password.html', args)
def groups_req(request): """search and/or list all groups, so this user can be added to specific groups """ mcid = normalize_mcid(request.REQUEST['mcid']) user = User.objects.get(mcid=mcid) where = [ 'groupmembers.memberaccid = %s' % mcid, 'groupmembers.groupinstanceid = groupinstances.groupinstanceid' ] member_of = Group.objects.extra(where=where, tables=['groupmembers']) q = request.REQUEST.get('q', '') if q: groups = Group.objects.filter(name__icontains=q) else: groups = Group.objects.order_by('name') return object_list(request, queryset=groups, template_name='users/groups.html', paginate_by=10, allow_empty=True, extra_context=default_context(request, mcuser=user, member_of=member_of, q=q))
def edit_req(request): id = int(request.REQUEST['id'].strip()) group = Group.objects.get(groupinstanceid = id) if request.POST: form = EditForm(request.POST) if form.is_valid(): group.name = form.clean_data['name'] group.adminUrl = form.clean_data['adminUrl'] group.memberUrl = form.clean_data['memberUrl'] group.worklist_limit = form.clean_data['worklist_limit'] group.save() return submit_redirect(request, group, create_redirect='wiz_create', edit_redirect='edit?id=%(groupinstanceid)d') else: form = EditForm(initial = group.__dict__) return render_to_response('groups/edit.html', default_context(request, group=group, form=form))
def index_req(request): return object_list( request, queryset=ExternalApplication.objects.order_by('ea_name'), template_name='applications/index.html', paginate_by=20, allow_empty=True, extra_context=default_context(request))
def add_users(request, this_action, next_action, template): id = request.REQUEST['id'].strip() group = Group.objects.get(groupinstanceid=int(id)) context = default_context(request, action=this_action, group=group, id=id) if 'q' in request.REQUEST: q = request.REQUEST['q'] qs = search_query_set(q) context['q'] = q else: qs = all_query_set() if 'mcid' in request.POST: mcid = normalize_mcid(request.POST['mcid']) if 'remove.x' in request.POST: sql_execute("DELETE FROM groupmembers " + \ "WHERE groupinstanceid = %s AND memberaccid = %s", int(id), mcid) elif 'add.x' in request.POST: # Only one group per user sql_execute("DELETE FROM groupmembers " + \ "wHERE memberaccid = %s", mcid) sql_execute("INSERT INTO groupmembers " + \ "(groupinstanceid, memberaccid) " + \ "VALUES (%s, %s)", int(id), mcid) return HttpResponseRedirect(this_action) if 'prev' in request.POST: return HttpResponseRedirect('wiz_name?id=%s' % id) if 'finish' in request.POST: return HttpResponseRedirect(next_action) where = [ 'groupmembers.memberaccid = users.mcid', 'groupmembers.groupinstanceid = %s' % id ] context['members'] = User.objects.extra(where=where, tables=['groupmembers']) where = [ 'mcid NOT IN (SELECT memberaccid FROM groupmembers WHERE groupinstanceid = %s)' % id ] select = { 'groupname': 'SELECT DISTINCT(name) FROM groupinstances, groupmembers WHERE groupmembers.groupinstanceid = groupinstances.groupinstanceid AND groupmembers.memberaccid = users.mcid' } return object_list(request, queryset=qs.extra(where=where, select=select), template_name=template, paginate_by=20, extra_context=context)
def group_req(request): try: id = int(request.GET['id']) group = Group.objects.get(groupinstanceid=id) where = [ 'groupmembers.memberaccid = users.mcid', 'groupmembers.groupinstanceid = groupinstances.groupinstanceid', 'groupinstances.groupinstanceid = %d' % id ] admin_where = [ 'groupadmins.adminaccid = users.mcid', 'groupadmins.groupinstanceid = groupinstances.groupinstanceid', 'groupinstances.groupinstanceid = %d' % id ] try: practice = Practice.objects.get(providergroupid=id) worklist = Practiceccrevent.objects.filter( practiceid=practice.practiceid, ViewStatus='VISIBLE') except Practice.DoesNotExist: practice = None worklist = [] users = User.objects.extra(where=where, tables=['groupmembers', 'groupinstances']) owners = User.objects.extra(where=admin_where, tables=['groupadmins', 'groupinstances']) owner = None if (len(owners) > 0): owner = owners[0] return render_to_response( 'groups/group.html', default_context(request, group=group, practice=practice, worklist=worklist, users=users, owner=owner)) except KeyError: return render_to_response('groups/query.html', default_context(request))
def index_req(request): context = default_context(request, OpenIDMode=get_property('OpenIDMode')) return object_list(request, queryset=IdentityProvider.objects.order_by('name'), template_name='idps/index.html', paginate_by=20, allow_empty=True, extra_context=context)
def index_req(request): query = './?' order = 'name' if 'order' in request.GET: order = request.GET['order'] query += 'order=%s&' % quote(order) return object_list(request, queryset = Appliance.objects.order_by(*order.split(',')), template_name='appliances/index.html', paginate_by=20, allow_empty=True, extra_context=default_context(request, order_query='./?', search_query=query)) return render_to_response('appliances/index.html', default_context(request, objects=objects))
def search_req(request): q = request.GET['q'] qs = Group.objects.filter(name__icontains=q) return object_list(request, queryset=qs, template_name='groups/search.html', paginate_by=20, allow_empty=True, extra_context=default_context(request, q=q))
def index_req(request): context = default_context(request, OpenIDMode = get_property('OpenIDMode')) return object_list(request, queryset = IdentityProvider.objects.order_by('name'), template_name = 'idps/index.html', paginate_by = 20, allow_empty = True, extra_context = context)
def search_req(request): q = request.GET['q'] qs = Group.objects.filter(name__icontains = q) return object_list(request, queryset = qs, template_name = 'groups/search.html', paginate_by = 20, allow_empty = True, extra_context = default_context(request, q=q))
def delete_req(request): name = 'ac' + request.REQUEST['property'] property = MCProperty.objects.get(property = name) if 'delete' in request.POST or 'delete.x' in request.POST: property.delete() return HttpResponseRedirect('.') return render_to_response('config/delete.html', default_context(request, property=property))
def search_req(request): try: qstr = request.GET['q'] if '@' in qstr: qs = User.objects.filter(email=qstr) else: q = qstr.split() x = Q(first_name=q[0]) | Q(last_name=q[0]) | Q(username=q[0]) for y in q[1:]: x = x | Q(first_name=y) | Q(last_name=y) | Q(username=y) qs = User.objects.filter(x) return object_list(request, queryset = qs, template_name = 'admins/search.html', paginate_by = 20, allow_empty = True, extra_context = default_context(request, q=qstr)) except KeyError: return render_to_response('admins/search.html', default_context(request))
def delete_req(request): name = 'ac' + request.REQUEST['property'] property = MCProperty.objects.get(property=name) if 'delete' in request.POST or 'delete.x' in request.POST: property.delete() return HttpResponseRedirect('.') return render_to_response('config/delete.html', default_context(request, property=property))
def edit_application_req(request): id = request.GET['id'] ea = ExternalApplication.objects.get(ea_id=id) form = AppRegistrationForm({ 'name': ea.ea_name, 'code': ea.ea_code, 'email': ea.ea_contact_email, 'website_url': ea.ea_web_site_url }) return render_to_response( 'applications/register.html', default_context(request, form=form, ea=ea, existing=True))
def delete_req(request): id = int(request.REQUEST['id']) object = Appliance.objects.get(id=id) if request.POST: if 'delete' in request.POST or 'delete.x' in request.POST: object.delete() return HttpResponseRedirect('.') return render_to_response('appliances/merge.html', default_context(request, object=object))
def config(request, form_type, template, initial = None): if request.POST: form = form_type(request.POST) if form.is_valid(): save_form_properties(form) return HttpResponseRedirect('.') else: form = form_type(initial = initial or initial_values()) return render_to_response(template, default_context(request, form=form))
def details_req(request): id = request.GET['id'].strip() object = IdentityProvider.objects.get(id = id) where = ['external_users.mcid = users.mcid', 'external_users.provider_id = %s' % id] qs = User.objects.extra(where = where, select = {'username': '******'}, tables = ['external_users']) return object_list(request, queryset = qs, template_name = 'idps/details.html', paginate_by = 20, allow_empty = True, extra_context = default_context(request, object=object, count=qs.count())) return render_to_response('idps/details.html', default_context(request, object=object))
def config(request, form_type, template, initial=None): if request.POST: form = form_type(request.POST) if form.is_valid(): save_form_properties(form) return HttpResponseRedirect('.') else: form = form_type(initial=initial or initial_values()) return render_to_response(template, default_context(request, form=form))
def csr_req(request): id = request.GET['id'] cert = Certificate.objects.get(id=id) csr = cert.csr.split('\n') cols = 0 for line in csr: cols = max(cols, len(line)) return render_to_response('security/csr.html', default_context(request, cert=cert, rows=len(csr), cols = cols))
def claim_req(request): mcid = normalize_mcid(request.REQUEST["mcid"]) user = User.objects.get(mcid=mcid) if request.POST: form = ClaimForm(request.POST) if form.is_valid(): user.email = form.clean_data["email"] user.set_password(form.clean_data["password"]) user.acctype = "CLAIMED" user.save() return render_to_response( "users/claimed.html", default_context(request, mcuser=user, password=form.clean_data["password"]) ) else: initial = user.__dict__.copy() initial["password"] = random_password() form = ClaimForm(initial=initial) return render_to_response("users/claim.html", default_context(request, form=form, mcuser=user))
def edit_req(request): mcid = normalize_mcid(request.REQUEST["mcid"]) user = User.objects.get(mcid=mcid) if request.POST: form = UserForm(request.POST) if form.is_valid() and save_user(user, form): return submit_redirect(request, user, edit_redirect="edit?mcid=%(mcid)s") else: form = UserForm(initial=user.__dict__) return render_to_response("users/edit.html", default_context(request, form=form, mcuser=user))