diff --git a/app/Controllers/Http/Editor/DatasetController.ts b/app/Controllers/Http/Editor/DatasetController.ts index 5af6e43..7a82949 100644 --- a/app/Controllers/Http/Editor/DatasetController.ts +++ b/app/Controllers/Http/Editor/DatasetController.ts @@ -27,6 +27,7 @@ import { ReferenceIdentifierTypes, RelationTypes, SubjectTypes, + DatasetTypes, } from '#contracts/enums'; import { TransactionClientContract } from '@adonisjs/lucid/types/database'; import db from '@adonisjs/lucid/services/db'; @@ -86,8 +87,15 @@ export default class DatasetsController { } datasets.orderBy(attribute, sortOrder); } else { - // users.orderBy('created_at', 'desc'); - datasets.orderBy('id', 'asc'); + // datasets.orderBy('id', 'asc'); + // Custom ordering to prioritize rejected_editor state + datasets.orderByRaw(` + CASE + WHEN server_state = 'rejected_reviewer' THEN 0 + ELSE 1 + END ASC, + id ASC + `); } // const users = await User.query().orderBy('login').paginate(page, limit); @@ -557,15 +565,15 @@ export default class DatasetsController { // const datasetHasLicenses = await dataset.related('licenses').query().pluck('id'); // const checkeds = dataset.licenses.first().id; - const doctypes = { - analysisdata: { label: 'Analysis', value: 'analysisdata' }, - measurementdata: { label: 'Measurements', value: 'measurementdata' }, - monitoring: 'Monitoring', - remotesensing: 'Remote Sensing', - gis: 'GIS', - models: 'Models', - mixedtype: 'Mixed Type', - }; + // const doctypes = { + // analysisdata: { label: 'Analysis', value: 'analysisdata' }, + // measurementdata: { label: 'Measurements', value: 'measurementdata' }, + // monitoring: 'Monitoring', + // remotesensing: 'Remote Sensing', + // gis: 'GIS', + // models: 'Models', + // mixedtype: 'Mixed Type', + // }; return inertia.render('Editor/Dataset/Edit', { dataset, @@ -584,7 +592,7 @@ export default class DatasetsController { subjectTypes: SubjectTypes, referenceIdentifierTypes: Object.entries(ReferenceIdentifierTypes).map(([key, value]) => ({ value: key, label: value })), relationTypes: Object.entries(RelationTypes).map(([key, value]) => ({ value: key, label: value })), - doctypes, + doctypes: DatasetTypes, }); } diff --git a/app/Controllers/Http/Submitter/DatasetController.ts b/app/Controllers/Http/Submitter/DatasetController.ts index b9a627e..e683e7d 100644 --- a/app/Controllers/Http/Submitter/DatasetController.ts +++ b/app/Controllers/Http/Submitter/DatasetController.ts @@ -36,7 +36,6 @@ import path from 'path'; import { Exception } from '@adonisjs/core/exceptions'; import { MultipartFile } from '@adonisjs/core/types/bodyparser'; import * as crypto from 'crypto'; -// import MimeType from '#models/mime_type'; import { pipeline } from 'node:stream/promises'; import { createWriteStream } from 'node:fs'; import type { Multipart } from '@adonisjs/bodyparser'; @@ -77,8 +76,16 @@ export default class DatasetController { } datasets.orderBy(attribute, sortOrder); } else { - // users.orderBy('created_at', 'desc'); - datasets.orderBy('id', 'asc'); + // datasets.orderBy('id', 'asc'); + // Custom ordering to prioritize rejected_editor state + datasets.orderByRaw(` + CASE + WHEN server_state = 'rejected_editor' THEN 0 + WHEN server_state = 'rejected_reviewer' THEN 1 + ELSE 2 + END ASC, + id ASC + `); } // const results = await Database @@ -547,6 +554,7 @@ export default class DatasetController { dataset.creating_corporation = request.input('creating_corporation'); dataset.language = request.input('language'); dataset.embargo_date = request.input('embargo_date'); + dataset.project_id = request.input('project_id'); //await dataset.related('user').associate(user); // speichert schon ab // Dataset.$getRelation('user').boot(); // Dataset.$getRelation('user').setRelated(dataset, user); @@ -979,15 +987,15 @@ export default class DatasetController { // const datasetHasLicenses = await dataset.related('licenses').query().pluck('id'); // const checkeds = dataset.licenses.first().id; - const doctypes = { - analysisdata: { label: 'Analysis', value: 'analysisdata' }, - measurementdata: { label: 'Measurements', value: 'measurementdata' }, - monitoring: 'Monitoring', - remotesensing: 'Remote Sensing', - gis: 'GIS', - models: 'Models', - mixedtype: 'Mixed Type', - }; + // const doctypes = { + // analysisdata: { label: 'Analysis', value: 'analysisdata' }, + // measurementdata: { label: 'Measurements', value: 'measurementdata' }, + // monitoring: 'Monitoring', + // remotesensing: 'Remote Sensing', + // gis: 'GIS', + // models: 'Models', + // mixedtype: 'Mixed Type', + // }; return inertia.render('Submitter/Dataset/Edit', { dataset, @@ -1006,7 +1014,7 @@ export default class DatasetController { subjectTypes: SubjectTypes, referenceIdentifierTypes: Object.entries(ReferenceIdentifierTypes).map(([key, value]) => ({ value: key, label: value })), relationTypes: Object.entries(RelationTypes).map(([key, value]) => ({ value: key, label: value })), - doctypes, + doctypes: DatasetTypes, }); } diff --git a/package-lock.json b/package-lock.json index ea2d86f..480f5eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2540,9 +2540,9 @@ } }, "node_modules/@pkgr/core": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.1.tgz", - "integrity": "sha512-VzgHzGblFmUeBmmrk55zPyrQIArQN4vujc9shWytaPdB3P7qhi0cpaiKIr7tlCmFv2lYUwnLospIqjL9ZSAhhg==", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.2.tgz", + "integrity": "sha512-25L86MyPvnlQoX2MTIV2OiUcb6vJ6aRbFa9pbwByn95INKD5mFH2smgjDhq+fwJoqAgvgbdJLj6Tz7V9X5CFAQ==", "dev": true, "license": "MIT", "engines": { @@ -5188,9 +5188,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001712", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001712.tgz", - "integrity": "sha512-MBqPpGYYdQ7/hfKiet9SCI+nmN5/hp4ZzveOJubl5DTAMa5oggjAuoi0Z4onBpKPFI2ePGnQuQIzF3VxDjDJig==", + "version": "1.0.30001713", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001713.tgz", + "integrity": "sha512-wCIWIg+A4Xr7NfhTuHdX+/FKh3+Op3LBbSp2N5Pfx6T/LhdQy3GTyoTg48BReaW/MyMNZAkTadsBtai3ldWK0Q==", "dev": true, "funding": [ { @@ -6353,9 +6353,9 @@ "license": "MIT" }, "node_modules/electron-to-chromium": { - "version": "1.5.134", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.134.tgz", - "integrity": "sha512-zSwzrLg3jNP3bwsLqWHmS5z2nIOQ5ngMnfMZOWWtXnqqQkPVyOipxK98w+1beLw1TB+EImPNcG8wVP/cLVs2Og==", + "version": "1.5.135", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.135.tgz", + "integrity": "sha512-8gXUdEmvb+WCaYUhA0Svr08uSeRjM2w3x5uHOc1QbaEVzJXB8rgm5eptieXzyKoVEtinLvW6MtTcurA65PeS1Q==", "dev": true, "license": "ISC" }, @@ -8228,9 +8228,9 @@ } }, "node_modules/http-proxy-middleware": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz", - "integrity": "sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.8.tgz", + "integrity": "sha512-/iazaeFPmL8KLA6QB7DFAU4O5j+9y/TA0D019MbLtPuFI56VK4BXFzM6j6QS9oGpScy8IIDH4S2LHv3zg/63Bw==", "dev": true, "license": "MIT", "dependencies": { @@ -13417,9 +13417,9 @@ } }, "node_modules/vite": { - "version": "6.2.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.5.tgz", - "integrity": "sha512-j023J/hCAa4pRIUH6J9HemwYfjB5llR2Ps0CWeikOtdR8+pAURAk0DoJC5/mm9kd+UgdnIy7d6HE4EAvlYhPhA==", + "version": "6.2.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.6.tgz", + "integrity": "sha512-9xpjNl3kR4rVDZgPNdTL0/c6ao4km69a/2ihNQbcANz8RuCOK3hQBmLSJf3bRKVQjVMda+YvizNE8AwvogcPbw==", "license": "MIT", "dependencies": { "esbuild": "^0.25.0", diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png index 90ed7d2..6886e7b 100644 Binary files a/public/favicon-32x32.png and b/public/favicon-32x32.png differ diff --git a/public/favicon-32x32.png:Zone.Identifier b/public/favicon-32x32.png:Zone.Identifier new file mode 100644 index 0000000..8bcdfdc --- /dev/null +++ b/public/favicon-32x32.png:Zone.Identifier @@ -0,0 +1,3 @@ +[ZoneTransfer] +ZoneId=3 +HostUrl=https://sea1.geoinformation.dev/favicon-32x32.png diff --git a/resources/js/Pages/Editor/Dataset/Index.vue b/resources/js/Pages/Editor/Dataset/Index.vue index 2dad8ea..5ab7d2c 100644 --- a/resources/js/Pages/Editor/Dataset/Index.vue +++ b/resources/js/Pages/Editor/Dataset/Index.vue @@ -123,10 +123,8 @@ const formatServerState = (state: string) => { Submitter
+ {{ dataset.reject_reviewer_note }} +
++ {{ dataset.reject_editor_note }} +
+