Ejemplo n.º 1
0
def delete_subject_types(request):
    manager = get_database_manager(request.user)
    subject_types = request.POST.get("all_ids")
    subject_types = subject_types.split(";")
    delete_registration_form(manager, subject_types)
    delete_type(manager, subject_types)
    for subject_type in subject_types:
        delete_mapping(manager.database_name, subject_type)
        ent = get_all_entities(manager, [subject_type])
        for entities in ent:
            entities.delete()
    messages.success(request,
                     _("Identification Number Type(s) successfully deleted."))
    return HttpResponse(json.dumps({'success': True}))
def recreate_index_for_questionnaire(database_name, form_code):
    start = time.time()
    es = get_elasticsearch_handle()
    
    dbm = get_db_manager(database_name)
    try:
        form_model = get_form_model_by_code(dbm, form_code)
        delete_mapping(database_name, form_model.id)
        create_mapping_for_form_model(dbm, form_model)
        populate_submission_index(dbm, form_model.id)
    except Exception as e:
        logger.exception("recreate index failed for database %s for" %dbm.database_name)

    logger.info('Time taken (seconds) for indexing {database_name} : {timetaken}'
                .format(database_name=database_name,timetaken=(time.time()-start)))
Ejemplo n.º 3
0
def delete_subject_types(request):
    manager = get_database_manager(request.user)
    subject_types = request.POST.get("all_ids")
    subject_types = subject_types.split(";")
    delete_type(manager, subject_types)
    for subject_type in subject_types:
        form_model = get_form_model_by_entity_type(manager, [subject_type])
        delete_mapping(manager.database_name, subject_type)
        entities = get_all_entities_include_voided(manager, [subject_type])
        for entity in entities:
            delete_data_record(manager, form_model.form_code, entity.short_code)
            manager._save_document(EntityActionDocument(form_model.entity_type[0], entity.short_code, HARD_DELETE))
            entity.delete()
        form_model.delete()
        UserActivityLog().log(request, action=DELETED_IDENTIFICATION_NUMBER, project=form_model.entity_type[0].capitalize())
    messages.success(request, _("Identification Number Type(s) successfully deleted."))
    return HttpResponse(json.dumps({'success': True}))