- added views and controller coder for reviewer role - added program logic for publishing a dataset by editor - added reviewer menu - adapted routes.ts for additional routes
This commit is contained in:
parent
c70fa4a0d8
commit
18635f77b3
17 changed files with 1224 additions and 393 deletions
|
@ -55,7 +55,7 @@ export default class Dataset extends DatasetExtension {
|
|||
@column({})
|
||||
public language: string;
|
||||
|
||||
@column({})
|
||||
@column({columnName: 'publish_id'})
|
||||
public publish_id: number | null = null;
|
||||
|
||||
@column({})
|
||||
|
@ -95,13 +95,14 @@ export default class Dataset extends DatasetExtension {
|
|||
})
|
||||
public created_at: DateTime;
|
||||
|
||||
@column.dateTime({
|
||||
@column.dateTime({
|
||||
serialize: (value: Date | null) => {
|
||||
return value ? dayjs(value).format('MMMM D YYYY HH:mm a') : value;
|
||||
},
|
||||
autoCreate: true,
|
||||
autoUpdate: true,
|
||||
columnName: 'server_date_modified' })
|
||||
autoCreate: true,
|
||||
autoUpdate: true,
|
||||
columnName: 'server_date_modified',
|
||||
})
|
||||
public server_date_modified: DateTime;
|
||||
|
||||
@manyToMany(() => Person, {
|
||||
|
@ -250,4 +251,23 @@ export default class Dataset extends DatasetExtension {
|
|||
|
||||
return model || null;
|
||||
}
|
||||
|
||||
static async getMax (column: string) {
|
||||
let dataset = await this.query().max(column + ' as max_publish_id').firstOrFail();
|
||||
return dataset.$extras.max_publish_id;
|
||||
}
|
||||
|
||||
@computed({
|
||||
serializeAs: 'remaining_time',
|
||||
})
|
||||
public get remainingTime() {
|
||||
const dateFuture = this.server_date_modified.plus({ days: 14 });
|
||||
if (this.server_state === 'approved') {
|
||||
const now = DateTime.now();
|
||||
let duration = dateFuture.diff(now, ['days', 'hours', 'months']).toObject();
|
||||
return duration.days;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -159,7 +159,7 @@ export default abstract class DatasetExtension extends LucidBaseModel {
|
|||
|
||||
// // Initialize available date fields and set up date validator
|
||||
// // if the particular field is present
|
||||
let dateFields = new Array<string>('EmbargoDate', 'CreatedAt', 'ServerDatePublished', 'ServerDateDeleted');
|
||||
let dateFields = new Array<string>('EmbargoDate', 'CreatedAt', 'ServerDateModified', 'ServerDatePublished', 'ServerDateDeleted');
|
||||
dateFields.forEach((fieldname) => {
|
||||
let dateField = this.getField(fieldname);
|
||||
dateField instanceof Field && dateField.setValueModelClass(DateTime.now());
|
||||
|
|
Loading…
Add table
editor.link_modal.header
Reference in a new issue