def profile_edit(request, profile_uuid): """ Handles JSON requests for a profile """ ipt = InputProfileTemplating() exists = ipt.check_exists(profile_uuid) if exists: # now check to see if the we have edit permissions proj_inp = ProjectInputs(ipt.project_uuid, request) if proj_inp.edit_permitted or request.user.is_superuser: rp = RootPath() base_url = rp.get_baseurl() temp_item = {'uuid': ipt.uuid, 'label': ipt.inp_prof.label, 'project_uuid': ipt.project_uuid, 'project': ipt.project, 'context': False, 'act_nav': 'profiles'} template = loader.get_template('edit/profiles/profile-edit.html') context = RequestContext(request, {'item': temp_item, 'super_user': request.user.is_superuser, 'icons': ItemBasicEdit.UI_ICONS, 'field_group_vis': InputFieldGroup.GROUP_VIS, 'base_url': base_url}) return HttpResponse(template.render(context)) else: json_output = json.dumps({'error': 'edit permission required'}, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8', status=401) else: raise Http404
def create_field_group(request, profile_uuid): """ Creates a field group for a given InputProfile """ ipt = InputProfileTemplating() exists = ipt.check_exists(profile_uuid) if exists: if request.method == 'POST': # now check to see if the we have edit permissions proj_inp = ProjectInputs(ipt.project_uuid, request) if proj_inp.edit_permitted or request.user.is_superuser: mifg = ManageInputFieldGroup() mifg.project_uuid = ipt.project_uuid mifg.profile_uuid = profile_uuid result = mifg.create_update_from_post(request.POST) json_output = json.dumps(result, indent=4, ensure_ascii=False) return HttpResponse( json_output, content_type='application/json; charset=utf8') else: json_output = json.dumps({'error': 'edit permission required'}, indent=4, ensure_ascii=False) return HttpResponse( json_output, content_type='application/json; charset=utf8', status=401) else: return HttpResponseForbidden else: raise Http404
def create_field_group(request, profile_uuid): """ Creates a field group for a given InputProfile """ ipt = InputProfileTemplating() exists = ipt.check_exists(profile_uuid) if exists: if request.method == 'POST': # now check to see if the we have edit permissions proj_inp = ProjectInputs(ipt.project_uuid, request) if proj_inp.edit_permitted or request.user.is_superuser: mifg = ManageInputFieldGroup() mifg.project_uuid = ipt.project_uuid mifg.profile_uuid = profile_uuid result = mifg.create_update_from_post(request.POST) json_output = json.dumps(result, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8') else: json_output = json.dumps({'error': 'edit permission required'}, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8', status=401) else: return HttpResponseForbidden else: raise Http404
def check_profile_use(manifest): """ checks to see if the item was created using a input profile """ output = False if ':' in manifest.source_id: source_ex = manifest.source_id.split(':') if (len(source_ex) == 2): profile_uuid = source_ex[1] ipt = InputProfileTemplating() exists = ipt.check_exists(profile_uuid) if exists: output = ipt.inp_prof return output
def html_view(request, uuid): """ Displays the HTML item editing interface """ ocitem = OCitem() ocitem.get_item(uuid) if (ocitem.manifest is not False): rp = RootPath() base_url = rp.get_baseurl() temp_item = TemplateItem(request) temp_item.check_edit_permitted = True temp_item.read_jsonld_dict(ocitem.json_ld) if temp_item.edit_permitted: if 'alt' in request.GET: template = loader.get_template('edit/item-edit.html') else: template = loader.get_template('edit/view.html') context = RequestContext( request, { 'item': temp_item, 'profile': check_profile_use(ocitem.manifest), 'super_user': request.user.is_superuser, 'icons': ItemBasicEdit.UI_ICONS, 'base_url': base_url }) return HttpResponse(template.render(context)) else: template = loader.get_template('edit/view401.html') context = RequestContext(request, { 'item': temp_item, 'base_url': base_url }) return HttpResponse(template.render(context), status=401) else: # not in the manifest, check to see if this is an data entry input profile ipt = InputProfileTemplating() exists = ipt.check_exists(uuid) if exists: rp = RootPath() base_url = rp.get_baseurl() return redirect(base_url + '/edit/inputs/profiles/' + uuid + '/edit') else: raise Http404
def profile_item_list(request, profile_uuid): """ Handles JSON requests for a profile """ ipt = InputProfileTemplating() exists = ipt.check_exists(profile_uuid) if exists: rp = RootPath() ipt.base_url = rp.get_baseurl() # now check to see if the we have edit permissions proj_inp = ProjectInputs(ipt.project_uuid, request) if proj_inp.edit_permitted or request.user.is_superuser: start = 0 rows = 10 sort = False last = False if 'start' in request.GET: start = request.GET['start'] if 'rows' in request.GET: rows = request.GET['rows'] if 'sort' in request.GET: sort = request.GET['sort'] if 'last' in request.GET: last = True result = ipt.get_item_list(profile_uuid, start, rows, sort, last) json_output = json.dumps(result, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8') else: json_output = json.dumps({'error': 'edit permission required'}, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8', status=401) else: raise Http404
def json_view(request, profile_uuid): """ Handles JSON requests for a profile """ ipt = InputProfileTemplating() exists = ipt.check_exists(profile_uuid) if exists: # now check to see if the we have edit permissions proj_inp = ProjectInputs(ipt.project_uuid, request) if proj_inp.edit_permitted or request.user.is_superuser: result = ipt.make_json(profile_uuid) json_output = json.dumps(result, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8') else: json_output = json.dumps({'error': 'edit permission required'}, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8', status=401) else: raise Http404
def profile_edit(request, profile_uuid): """ Handles JSON requests for a profile """ ipt = InputProfileTemplating() exists = ipt.check_exists(profile_uuid) if exists: # now check to see if the we have edit permissions proj_inp = ProjectInputs(ipt.project_uuid, request) if proj_inp.edit_permitted or request.user.is_superuser: rp = RootPath() base_url = rp.get_baseurl() temp_item = { 'uuid': ipt.uuid, 'label': ipt.inp_prof.label, 'project_uuid': ipt.project_uuid, 'project': ipt.project, 'context': False, 'act_nav': 'profiles' } template = loader.get_template('edit/profiles/profile-edit.html') context = RequestContext( request, { 'item': temp_item, 'super_user': request.user.is_superuser, 'icons': ItemBasicEdit.UI_ICONS, 'field_group_vis': InputFieldGroup.GROUP_VIS, 'base_url': base_url }) return HttpResponse(template.render(context)) else: json_output = json.dumps({'error': 'edit permission required'}, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8', status=401) else: raise Http404
def profile_use(request, profile_uuid, edit_uuid): """ Handle requests to use a profile to create or edit a record """ ipt = InputProfileTemplating() exists = ipt.check_exists(profile_uuid) if exists: # now check to see if the we have edit permissions proj_inp = ProjectInputs(ipt.project_uuid, request) if proj_inp.edit_permitted or request.user.is_superuser: if edit_uuid != 'new': try: edit_man = Manifest.objects.get(uuid=edit_uuid) except Manifest.DoesNotExist: # trying to use this profile to edit something that # does not exist edit_man = False raise Http404 else: edit_uuid = proj_inp.mint_new_uuid() edit_man = False if 'prefix' in request.GET: prefix = request.GET['prefix'] else: prefix = '' if 'id_len' in request.GET: try: id_len = int(float(request.GET['id_len'])) except: id_len = False else: id_len = False rp = RootPath() base_url = rp.get_baseurl() temp_item = {'uuid': ipt.uuid, 'label': ipt.inp_prof.label, 'project_uuid': ipt.project_uuid, 'project': ipt.project, 'edit_man': edit_man, 'edit_uuid': edit_uuid, 'label_prefix': prefix, 'label_id_len': id_len, 'context': False, 'act_nav': 'profiles'} template = loader.get_template('edit/profiles/profile-use.html') context = RequestContext(request, {'item': temp_item, 'super_user': request.user.is_superuser, 'icons': ItemBasicEdit.UI_ICONS, 'field_group_vis': InputFieldGroup.GROUP_VIS, 'base_url': base_url}) return HttpResponse(template.render(context)) else: json_output = json.dumps({'error': 'edit permission required'}, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8', status=401) else: raise Http404
def profile_use(request, profile_uuid, edit_uuid): """ Handle requests to use a profile to create or edit a record """ ipt = InputProfileTemplating() exists = ipt.check_exists(profile_uuid) if exists: # now check to see if the we have edit permissions proj_inp = ProjectInputs(ipt.project_uuid, request) if proj_inp.edit_permitted or request.user.is_superuser: if edit_uuid != 'new': try: edit_man = Manifest.objects.get(uuid=edit_uuid) except Manifest.DoesNotExist: # trying to use this profile to edit something that # does not exist edit_man = False raise Http404 else: edit_uuid = proj_inp.mint_new_uuid edit_man = False if 'prefix' in request.GET: prefix = request.GET['prefix'] else: prefix = '' if 'id_len' in request.GET: try: id_len = int(float(request.GET['id_len'])) except: id_len = False else: id_len = False rp = RootPath() base_url = rp.get_baseurl() temp_item = { 'uuid': ipt.uuid, 'label': ipt.inp_prof.label, 'project_uuid': ipt.project_uuid, 'project': ipt.project, 'edit_man': edit_man, 'edit_uuid': edit_uuid, 'label_prefix': prefix, 'label_id_len': id_len, 'context': False, 'act_nav': 'profiles' } template = loader.get_template('edit/profiles/profile-use.html') context = RequestContext( request, { 'item': temp_item, 'super_user': request.user.is_superuser, 'icons': ItemBasicEdit.UI_ICONS, 'field_group_vis': InputFieldGroup.GROUP_VIS, 'base_url': base_url }) return HttpResponse(template.render(context)) else: json_output = json.dumps({'error': 'edit permission required'}, indent=4, ensure_ascii=False) return HttpResponse(json_output, content_type='application/json; charset=utf8', status=401) else: raise Http404