def _start_curate_post(request): """Start curate POST request. Args: request: Returns: """ template_id = str(request.POST["hidden_value"]) selected_option = request.POST["curate_form"] user_id = str(request.user.id) if selected_option == "new" or selected_option == "upload": if selected_option == "new": new_form = users_forms.NewForm(request.POST) if new_form.is_valid(): name = new_form.data["document_name"] curate_data_structure = CurateDataStructure( user=user_id, template=template_id, name=name) else: raise CurateAjaxError( "An error occurred during the validation " + get_form_label()) else: upload_form = users_forms.UploadForm(request.POST, request.FILES) if upload_form.is_valid(): xml_file = request.FILES["file"] xml_data = read_xsd_file(xml_file) well_formed = is_well_formed_xml(xml_data) name = xml_file.name if not well_formed: raise CurateAjaxError( "An error occurred during the file upload: the file is " "not well formed XML") else: curate_data_structure = CurateDataStructure( user=user_id, template=template_id, name=name, form_string=xml_data, ) else: raise CurateAjaxError( "An error occurred during the validation " + get_form_label()) curate_data_structure_api.upsert(curate_data_structure, request.user) else: open_form = users_forms.OpenForm(request.POST) curate_data_structure = curate_data_structure_api.get_by_id( open_form.data["forms"], request.user) url = reverse("core_curate_enter_data", args=(curate_data_structure.id, )) return HttpResponse(url)
def _start_curate_get(request): """Start curate GET request. Args: request: Returns: """ try: context_params = dict() template_id = request.GET['template_id'] template = loader.get_template( 'core_curate_app/user/curate_start.html') open_form = users_forms.OpenForm( forms=curate_data_structure_api. get_all_by_user_id_and_template_id_with_no_data( str(request.user.id), template_id)) new_form = users_forms.NewForm() upload_form = users_forms.UploadForm() hidden_form = users_forms.HiddenFieldsForm(hidden_value=template_id) context_params['new_form'] = new_form context_params['open_form'] = open_form context_params['upload_form'] = upload_form context_params['hidden_form'] = hidden_form context = {} context.update(request) context.update(context_params) return HttpResponse(json.dumps({'template': template.render(context)}), content_type='application/javascript') except Exception as e: raise exceptions.CurateAjaxError('Error occurred during the ' + get_form_label() + ' display.')
def cancel_form(request): """Cancel current form. Args: request: Returns: """ try: # get curate data structure curate_data_structure_id = request.POST["id"] curate_data_structure = curate_data_structure_api.get_by_id( curate_data_structure_id, request.user) # unlock from database if curate_data_structure.data is not None: lock_api.remove_lock_on_object(curate_data_structure.data, request.user) curate_data_structure_api.delete(curate_data_structure, request.user) # add success message messages.add_message( request, messages.SUCCESS, get_form_label().capitalize() + " deleted with success.", ) return HttpResponse(json.dumps({}), content_type="application/javascript") except Exception as e: return HttpResponseBadRequest( "An unexpected error has occured: %s" % str(e).replace('"', "'"), content_type="application/javascript", )
def cancel_form(request): """Cancel current form. Args: request: Returns: """ try: # get curate data structure curate_data_structure_id = request.POST['id'] curate_data_structure = curate_data_structure_api.get_by_id( curate_data_structure_id) # unlock from database if curate_data_structure.data is not None: lock_api.remove_lock_on_object(curate_data_structure.data, request.user) curate_data_structure_api.delete(curate_data_structure) # add success message messages.add_message( request, messages.SUCCESS, get_form_label().capitalize() + ' deleted with success.') return HttpResponse(json.dumps({}), content_type='application/javascript') except: return HttpResponseBadRequest()
def _get_forms(form_ids, request_user_is_superuser, request_user_id): """ Get all the forms from the list of ids. Args: form_ids: request_user_is_superuser: request_user_id: Returns: list form """ list_form = [] try: for form_id in form_ids: # Get the form form = curate_data_structure_api.get_by_id(form_id) # Check the rights _check_rights_document(request_user_is_superuser, request_user_id, form.user) list_form.append(form) except DoesNotExist: raise Exception('It seems a ' + get_form_label() + ' is missing. Please refresh the page.') except Exception, e: raise Exception(e.message)
class CancelChangesForm(forms.Form): """ Cancel changes form. """ CANCEL_CHOICES = [('revert', 'Revert to my previously Saved ' + get_form_label()), ('return', 'Return to Add Resources')] cancel = forms.ChoiceField(label='', choices=CANCEL_CHOICES, widget=forms.RadioSelect())
class CancelChangesForm(forms.Form): """Cancel changes form.""" CANCEL_CHOICES = [ ("revert", "Revert to my previously Saved " + get_form_label()), ("return", "Return to Add Resources"), ] cancel = forms.ChoiceField(label="", choices=CANCEL_CHOICES, widget=forms.RadioSelect())
def _check_owner(request, accessed_object): """Check if the object can be accessed by the user. Args: request: accessed_object: Returns: """ # Super user can access everything if not request.user.is_superuser: # If not the owner of the accessed object if str(request.user.id) != accessed_object.user: raise CoreError("You are not the owner of the " + get_form_label() + " that you are trying to access")
def save_form(request): """Save the current form in data base. Converts it to XML format first. Args: request: Returns: """ try: # get curate data structure curate_data_structure_id = request.POST['id'] curate_data_structure = curate_data_structure_api.get_by_id( curate_data_structure_id) # unlock from database if curate_data_structure.data is not None: lock_api.remove_lock_on_object(curate_data_structure.data, request.user) # generate xml data xml_data = render_xml( curate_data_structure.data_structure_element_root) # update curate data structure data curate_data_structure.form_string = xml_data # save data structure curate_data_structure_api.upsert(curate_data_structure) # add success message message = Message( messages.SUCCESS, get_form_label().capitalize() + ' saved with success.') return HttpResponse(json.dumps({ 'message': message.message, 'tags': message.tags }), content_type='application/json') except: return HttpResponseBadRequest()
def save_form(request): """Save the current form in data base. Converts it to XML format first. Args: request: Returns: """ try: # get curate data structure curate_data_structure_id = request.POST["id"] curate_data_structure = curate_data_structure_api.get_by_id( curate_data_structure_id, request.user) # generate xml data xml_data = render_xml( request, curate_data_structure.data_structure_element_root) # update curate data structure data curate_data_structure.form_string = xml_data # save data structure curate_data_structure_api.upsert(curate_data_structure, request.user) # add success message message = Message( messages.SUCCESS, get_form_label().capitalize() + " saved with success.") return HttpResponse( json.dumps({ "message": message.message, "tags": message.tags }), content_type="application/json", ) except Exception as e: return HttpResponseBadRequest(escape(str(e)))
def _start_curate_get(request): """Start curate GET request. Args: request: Returns: """ try: context_params = dict() template_id = request.GET["template_id"] template = loader.get_template( "core_curate_app/user/curate_start.html") open_form = users_forms.OpenForm( forms=curate_data_structure_api. get_all_by_user_id_and_template_id_with_no_data( request.user.id, template_id)) new_form = users_forms.NewForm() upload_form = users_forms.UploadForm() hidden_form = users_forms.HiddenFieldsForm(hidden_value=template_id) context_params["new_form"] = new_form context_params["open_form"] = open_form context_params["upload_form"] = upload_form context_params["hidden_form"] = hidden_form context_params["request"] = request context = {} context.update(context_params) return HttpResponse( json.dumps({"template": template.render(context)}), content_type="application/javascript", ) except Exception as e: logger.error(str(e)) raise exceptions.CurateAjaxError("Error occurred during the " + get_form_label() + " display.")
Menu.items["dashboard"] = [] Menu.add_item( "dashboard", MenuItem("My Workspaces", reverse('core_dashboard_workspaces'), icon="folder-open")) Menu.add_item( "dashboard", MenuItem("My {0}s".format(get_data_label().title()), reverse('core_dashboard_records'), icon="file-text-o")) Menu.add_item( "dashboard", MenuItem("My {0}s".format(get_form_label().title()), reverse('core_dashboard_forms'), icon="file-text-o")) Menu.add_item( "dashboard", MenuItem("My Files", reverse('core_dashboard_files'), icon="file")) Menu.add_item( "help", MenuItem("API Documentation", reverse("swagger_view"), icon="cogs")) Menu.add_item( "help", MenuItem("Contact", reverse("core_website_app_contact"), icon="envelope"))
Menu.add_item( "composer", MenuItem("My Types", reverse("core_dashboard_types"), require_authentication=True) ) Menu.items["dashboard"] = [] Menu.add_item( "dashboard", MenuItem("My Workspaces", reverse('core_dashboard_workspaces'), icon="folder-open") ) Menu.add_item( "dashboard", MenuItem("My {0}s".format(get_data_label().title()), reverse('core_dashboard_records'), icon="file-text-o") ) Menu.add_item( "dashboard", MenuItem("My {0}s".format(get_form_label().title()), reverse('core_dashboard_forms'), icon="file-text-o") ) Menu.add_item( "dashboard", MenuItem("My Files", reverse('core_dashboard_files'), icon="file") ) Menu.add_item( "help", MenuItem("API Documentation", reverse("swagger_view"), icon="cogs") ) Menu.add_item( "help", MenuItem("Contact", reverse("core_website_app_contact"), icon="envelope") ) Menu.add_item(
) JS_EDIT_RECORD = "core_dashboard_common_app/user/js/list/edit_record.js" USER_VIEW_RECORD_RAW = "core_dashboard_common_app/user/js/list/view_record.raw.js" JS_VIEW_RECORD = "core_dashboard_common_app/common/js/list/view_record.js" # Admin JS_ADMIN_COUNT_CHECK = "core_dashboard_common_app/admin/js/count_checked.js" JS_ADMIN_RESET_CHECKBOX = "core_dashboard_common_app/admin/js/reset_checkbox.js" JS_ADMIN_SELECT_ALL = "core_dashboard_common_app/admin/js/select_all.js" JS_ADMIN_SELETED_ELEMENT = ( "core_dashboard_common_app/admin/js/get_selected_document_admin.js" ) JS_ADMIN_INIT_MENU = "core_dashboard_common_app/admin/js/init_admin_menu.js" JS_INIT_ADMIN = "core_dashboard_common_app/admin/js/init_admin.js" JS_ADMIN_ACTION_DASHBOARD = "core_dashboard_common_app/admin/js/action_dashboard.js" JS_ADMIN_TABLE = "core_dashboard_common_app/admin/js/admin_table.js" ADMIN_VIEW_RECORD_RAW = "core_dashboard_common_app/admin/js/list/view_record.raw.js" FUNCTIONAL_OBJECT_ENUM = Enum( "FUNCTIONAL_OBJECT_ENUM", { "RECORD": get_data_label(), "FORM": get_form_label(), "TEMPLATE": "template", "TYPE": "type", "FILE": "file", "QUERY": "query", "WORKSPACE": "workspace", }, )
def _start_curate_post(request): """Start curate POST request. Args: request: Returns: """ try: template_id = str(request.POST['hidden_value']) selected_option = request.POST['curate_form'] user_id = str(request.user.id) if selected_option == "new" or selected_option == "upload": if selected_option == "new": new_form = users_forms.NewForm(request.POST) if new_form.is_valid(): name = new_form.data['document_name'] curate_data_structure = CurateDataStructure( user=user_id, template=template_id, name=name) else: raise exceptions.CurateAjaxError( 'Error occurred during the validation ' + get_form_label()) else: try: # check XML data or not? upload_form = users_forms.UploadForm( request.POST, request.FILES) if upload_form.is_valid(): xml_file = request.FILES['file'] xml_file.seek( 0) # put the cursor at the beginning of the file xml_data = xml_file.read( ) # read the content of the file well_formed = is_well_formed_xml(xml_data) name = xml_file.name if not well_formed: raise exceptions.CurateAjaxError( 'Uploaded File is not well formed XML') else: curate_data_structure = CurateDataStructure( user=user_id, template=template_id, name=name, form_string=xml_data) else: raise exceptions.CurateAjaxError( 'Error occurred during the validation ' + get_form_label()) except Exception as e: raise exceptions.CurateAjaxError( 'Error during file uploading') curate_data_structure_api.upsert(curate_data_structure) else: open_form = users_forms.OpenForm(request.POST) curate_data_structure = curate_data_structure_api.get_by_id( open_form.data['forms']) url = reverse("core_curate_enter_data", args=(curate_data_structure.id, )) return HttpResponse(url) except Exception as e: raise exceptions.CurateAjaxError(e.message)
Returns: """ try: list_form = _get_forms(form_ids, request.user.is_superuser, request.user.id) except Exception, e: messages.add_message(request, messages.INFO, e.message) return HttpResponse(json.dumps({}), content_type='application/javascript') try: for form in list_form: curate_data_structure_api.delete(form) messages.add_message( request, messages.INFO, get_form_label().capitalize() + ' deleted with success.') except: messages.add_message(request, messages.INFO, 'A problem occurred while deleting.') return HttpResponse(json.dumps({}), content_type='application/javascript') def _delete_record(request, data_ids): """ Delete records. Args: request: data_ids: Returns: