Example #1
0
 def commit(self, request):
     try:
         saved_export = SavedExportSchema.get(self.export_id)
     except ResourceNotFound:
         raise ExportNotFound()
     self.export_type = saved_export.type
     saved_export.delete()
     messages.success(request, _("Custom export was deleted."))
Example #2
0
 def commit(self, request):
     try:
         saved_export = SavedExportSchema.get(self.export_id)
     except ResourceNotFound:
         raise ExportNotFound()
     self.export_type = saved_export.type
     saved_export.delete()
     messages.success(request, _("Custom export was deleted."))
Example #3
0
 def post(self, request, *args, **kwargs):
     try:
         saved_export = SavedExportSchema.get(self.export_id)
     except ResourceNotFound:
         return HttpResponseRedirect(request.META['HTTP_REFERER'])
     self.export_type = saved_export.type
     saved_export.delete()
     messages.success(request, _("Custom export was deleted."))
     return super(DeleteCustomExportView, self).post(request, *args, **kwargs)
Example #4
0
 def commit(self, request):
     try:
         saved_export = SavedExportSchema.get(self.export_id)
     except ResourceNotFound:
         raise ExportNotFound()
     self.export_type = saved_export.type
     saved_export.delete()
     touch_exports(self.domain)
     messages.success(request, mark_safe(_("Export <strong>{}</strong> " "was deleted.").format(saved_export.name)))
Example #5
0
def delete_custom_export(req, domain, export_id):
    """
    Delete a custom export
    """
    try:
        saved_export = SavedExportSchema.get(export_id)
    except ResourceNotFound:
        return HttpResponseRedirect(req.META['HTTP_REFERER'])
    saved_export.delete()
    messages.success(req, "Custom export was deleted.")
    return _redirect_to_export_home(saved_export.type, domain)
Example #6
0
def delete_custom_export(req, domain, export_id):
    """
    Delete a custom export
    """
    try:
        saved_export = SavedExportSchema.get(export_id)
    except ResourceNotFound:
        return HttpResponseRedirect(req.META['HTTP_REFERER'])
    saved_export.delete()
    messages.success(req, "Custom export was deleted.")
    return _redirect_to_export_home(saved_export.type, domain)
Example #7
0
def delete_custom_export(req, domain, export_id):
    """
    Delete a custom export
    """
    try:
        saved_export = SavedExportSchema.get(export_id)
    except ResourceNotFound:
        return HttpResponseRedirect(req.META['HTTP_REFERER'])
    type = saved_export.type
    saved_export.delete()
    messages.success(req, "Custom export was deleted.")
    if type == "form":
        return HttpResponseRedirect(export.ExcelExportReport.get_url(domain))
    else:
        return HttpResponseRedirect(export.CaseExportReport.get_url(domain))
Example #8
0
 def exports(self):
     return [SavedExportSchema.get(export_id) for export_id in self.export_ids]
Example #9
0
def migrate_domain(domain, dryrun=False, force_convert_columns=False):
    from couchexport.models import SavedExportSchema
    export_count = stale_get_export_count(domain)
    metas = []
    if export_count:
        for old_export in with_progress_bar(get_exports_json(domain),
                                            length=export_count,
                                            prefix=domain):
            with CriticalSection(['saved-export-{}'.format(old_export['_id'])],
                                 timeout=120):
                try:
                    _, migration_meta = convert_saved_export_to_export_instance(
                        domain,
                        SavedExportSchema.get(old_export['_id']),
                        dryrun=dryrun,
                        force_convert_columns=force_convert_columns,
                    )
                except Exception as e:
                    print('Failed parsing {}: {}'.format(old_export['_id'], e))
                    raise
                else:
                    metas.append(migration_meta)

    if not dryrun:
        set_toggle(OLD_EXPORTS.slug, domain, False, namespace=NAMESPACE_DOMAIN)
        toggle_js_domain_cachebuster.clear(domain)

    # Remote app migrations must have access to UserDefined columns and tables
    if any(map(lambda meta: meta.is_remote_app_migration, metas)):
        set_toggle(ALLOW_USER_DEFINED_EXPORT_COLUMNS.slug,
                   domain,
                   True,
                   namespace=NAMESPACE_DOMAIN)
        toggle_js_domain_cachebuster.clear(domain)

    for meta in metas:
        if not meta.skipped_tables and not meta.skipped_columns:
            continue

        output = '* Export information for export: {} *'.format(
            meta.old_export_url)
        schema_id_output = 'Generated schema: {}'.format(
            meta.generated_schema_id)
        print('')
        print('*' * len(output))
        print(output)
        print('* {}{} *'.format(
            schema_id_output, ' ' * (len(output) - len(schema_id_output) - 4)))
        print('*' * len(output))
        print('')

        if meta.skipped_tables:
            print('# Skipped tables #')
            for table_meta in meta.skipped_tables:
                table_meta.pretty_print()

        if meta.skipped_columns:
            print('# Skipped columns #')
            for column_meta in meta.skipped_columns:
                column_meta.pretty_print()
    return metas
Example #10
0
 def exports(self):
     return [
         SavedExportSchema.get(export_id) for export_id in self.export_ids
     ]