Search in sources :

Example 26 with MetaFile

use of com.axelor.meta.db.MetaFile in project axelor-open-suite by axelor.

the class AdvancedExportController method getAdvancedExportFile.

private void getAdvancedExportFile(ActionRequest request, ActionResponse response, AdvancedExport advancedExport, String fileType) throws AxelorException, IOException {
    AdvancedExportService advancedExportService = Beans.get(AdvancedExportService.class);
    if (!advancedExport.getAdvancedExportLineList().isEmpty()) {
        List<Long> recordIds = createCriteria(request, advancedExport);
        File file = advancedExportService.export(advancedExport, recordIds, fileType);
        if (advancedExportService.getIsReachMaxExportLimit()) {
            response.setFlash(I18n.get(IExceptionMessage.ADVANCED_EXPORT_3));
        }
        FileInputStream inStream = new FileInputStream(file);
        MetaFile exportFile = Beans.get(MetaFiles.class).upload(inStream, advancedExportService.getExportFileName());
        inStream.close();
        file.delete();
        downloadExportFile(response, exportFile);
    } else {
        response.setError(I18n.get(IExceptionMessage.ADVANCED_EXPORT_1));
    }
}
Also used : MetaFiles(com.axelor.meta.MetaFiles) MetaFile(com.axelor.meta.db.MetaFile) AdvancedExportService(com.axelor.apps.base.service.advancedExport.AdvancedExportService) File(java.io.File) MetaFile(com.axelor.meta.db.MetaFile) FileInputStream(java.io.FileInputStream)

Example 27 with MetaFile

use of com.axelor.meta.db.MetaFile in project axelor-open-suite by axelor.

the class AdvancedImportController method importData.

public void importData(ActionRequest request, ActionResponse response) {
    try {
        AdvancedImport advancedImport = request.getContext().asType(AdvancedImport.class);
        if (advancedImport.getId() != null) {
            advancedImport = Beans.get(AdvancedImportRepository.class).find(advancedImport.getId());
        }
        MetaFile logFile = Beans.get(DataImportService.class).importData(advancedImport);
        if (logFile != null) {
            response.setValue("errorLog", logFile);
        } else {
            response.setValue("errorLog", null);
            response.setFlash(I18n.get(IExceptionMessage.ADVANCED_IMPORT_IMPORT_DATA));
            response.setSignal("refresh-app", true);
        }
    } catch (Exception e) {
        TraceBackService.trace(response, e);
    }
}
Also used : DataImportService(com.axelor.apps.base.service.advanced.imports.DataImportService) MetaFile(com.axelor.meta.db.MetaFile) AdvancedImport(com.axelor.apps.base.db.AdvancedImport) AxelorException(com.axelor.exception.AxelorException)

Example 28 with MetaFile

use of com.axelor.meta.db.MetaFile in project axelor-open-suite by axelor.

the class ConvertDemoDataFileController method convertDemoDataFile.

public void convertDemoDataFile(ActionRequest request, ActionResponse response) throws IOException, AxelorException, ParseException {
    MetaFile metaFile = Beans.get(MetaFileRepository.class).find(Long.valueOf(((Map) request.getContext().get("importFile")).get("id").toString()));
    File dataFile = MetaFiles.getPath(metaFile).toFile();
    if (Files.getFileExtension(dataFile.getName()).equals("xlsx")) {
        response.setValue("$csvMetaFile", Beans.get(ConvertDemoDataFileService.class).convertDemoDataExcelFile(dataFile));
    } else {
        response.setError(I18n.get(IExceptionMessage.VALIDATE_FILE_TYPE));
    }
}
Also used : MetaFileRepository(com.axelor.meta.db.repo.MetaFileRepository) MetaFile(com.axelor.meta.db.MetaFile) File(java.io.File) MetaFile(com.axelor.meta.db.MetaFile)

Example 29 with MetaFile

use of com.axelor.meta.db.MetaFile in project axelor-open-suite by axelor.

the class Importer method createFinalWorkspace.

protected File createFinalWorkspace(MetaFile metaFile) throws IOException {
    File data = MetaFiles.getPath(metaFile).toFile();
    File finalWorkspace = new File(workspace, computeFinalWorkspaceName(data));
    finalWorkspace.mkdir();
    if (isZip(data)) {
        unZip(data, finalWorkspace);
    } else {
        FileUtils.copyFile(data, new File(finalWorkspace, metaFile.getFileName()));
    }
    if (Files.getFileExtension(data.getName()).equals("xlsx"))
        importExcel(new File(finalWorkspace, metaFile.getFileName()));
    return finalWorkspace;
}
Also used : ZipFile(java.util.zip.ZipFile) File(java.io.File) MetaFile(com.axelor.meta.db.MetaFile)

Example 30 with MetaFile

use of com.axelor.meta.db.MetaFile in project axelor-open-suite by axelor.

the class UserServiceImpl method getUserActiveCompanyLogoLink.

@Override
public String getUserActiveCompanyLogoLink() {
    final Company company = this.getUserActiveCompany();
    if (company == null) {
        return null;
    }
    MetaFile logo = company.getLogo();
    if (logo == null) {
        return null;
    }
    return metaFiles.getDownloadLink(logo, company);
}
Also used : Company(com.axelor.apps.base.db.Company) MetaFile(com.axelor.meta.db.MetaFile)

Aggregations

MetaFile (com.axelor.meta.db.MetaFile)87 File (java.io.File)50 FileInputStream (java.io.FileInputStream)25 IOException (java.io.IOException)24 AxelorException (com.axelor.exception.AxelorException)21 MetaFiles (com.axelor.meta.MetaFiles)18 Transactional (com.google.inject.persist.Transactional)17 ArrayList (java.util.ArrayList)13 Path (java.nio.file.Path)12 InputStream (java.io.InputStream)10 ZipFile (java.util.zip.ZipFile)9 FileOutputStream (java.io.FileOutputStream)8 MetaFileRepository (com.axelor.meta.db.repo.MetaFileRepository)7 ImportHistory (com.axelor.apps.base.db.ImportHistory)6 DMSFile (com.axelor.dms.db.DMSFile)6 HashMap (java.util.HashMap)6 ZipEntry (java.util.zip.ZipEntry)6 ByteArrayInputStream (java.io.ByteArrayInputStream)4 ZipInputStream (java.util.zip.ZipInputStream)4 App (com.axelor.apps.base.db.App)3