Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • 1.0-maintenance
  • 1.1-maintenance
  • 2.0-maintenance
  • 2.1-maintenance
  • adf-1032-keytitle-at-issn-service
  • adf-1212-add-forgotten-publications-to-validate-into-profile
  • adf-1259-abstract-not-mandatory-for-thesis
  • adf-1393-manage-old-thesis
  • adf-1542-disable-button-to-update-publication-in-access
  • adf-1603-remove-guide-link-from-menu
  • adf-237-structures-user-icons-in-profile
  • adf-956-new-document-types
  • adf-956-new-file-type-imprimatur-and-mode-de-diffusion-for-thesis
  • aou-1542_add_button_access_bibliography_generator
  • aou-1617_create_warning_when_contributor_are_identical
  • aou-1638_change_radio_to_checkbox
  • fpo/1040_do_not_show_multiple_action_buttons_when_only_one_deposit_is_selected
  • fpo/263_flatten_the_json_format_used_by_the_frontend
  • fpo/avoid_infinite_login_loop
  • fpo/components_in_solidify
  • fpo/dark_mode_refactor
  • hbo-test
  • hbo_fix_dont_run_twice_http_request_autocomplete
  • jbc-new-icons
  • master
  • rodn-1767-access-level-images
  • rodn-1829-scheduled-task-to-export-to-orcid
  • rodn-admin-user-business-roles
  • rodn-labels-refactoring
  • rodn-logout-refactoring
  • rodn-rename-form-data
  • aou-0.0.1
  • aou-0.0.2
  • aou-0.0.3
  • aou-0.0.4
  • aou-0.0.5
  • aou-1.0.0
  • aou-1.0.1
  • aou-1.0.2
  • aou-1.0.3
  • aou-1.0.4
  • aou-1.0.5
  • aou-1.0.6
  • aou-1.1.0
  • aou-1.1.1
  • aou-1.1.2
  • aou-1.2.0-RC1
  • aou-1.2.0-RC2
  • aou-1.2.0-RC3
  • aou-1.2.0-alpha1
  • aou-2.0.0
  • aou-2.0.1
  • aou-2.0.2
  • aou-2.0.3
  • aou-2.0.4
  • aou-2.0.5
  • aou-2.0.6
  • aou-2.0.7
  • aou-2.1.0
  • aou-2.1.1
  • aou-2.1.2
  • aou-2.1.3
  • aou-2.1.4
  • aou-2.1.5
  • aou-2.1.6
  • aou-2.1.7
  • aou-2.2.0
67 results

Target

Select target project
  • aou/aou-portal
1 result
Select Git revision
  • 1.0-maintenance
  • 1.1-maintenance
  • 2.0-maintenance
  • 2.1-maintenance
  • adf-1032-keytitle-at-issn-service
  • adf-1212-add-forgotten-publications-to-validate-into-profile
  • adf-1259-abstract-not-mandatory-for-thesis
  • adf-1393-manage-old-thesis
  • adf-1542-disable-button-to-update-publication-in-access
  • adf-1603-remove-guide-link-from-menu
  • adf-237-structures-user-icons-in-profile
  • adf-956-new-document-types
  • adf-956-new-file-type-imprimatur-and-mode-de-diffusion-for-thesis
  • aou-1542_add_button_access_bibliography_generator
  • aou-1617_create_warning_when_contributor_are_identical
  • aou-1638_change_radio_to_checkbox
  • fpo/1040_do_not_show_multiple_action_buttons_when_only_one_deposit_is_selected
  • fpo/263_flatten_the_json_format_used_by_the_frontend
  • fpo/avoid_infinite_login_loop
  • fpo/components_in_solidify
  • fpo/dark_mode_refactor
  • hbo-test
  • hbo_fix_dont_run_twice_http_request_autocomplete
  • jbc-new-icons
  • master
  • rodn-1767-access-level-images
  • rodn-1829-scheduled-task-to-export-to-orcid
  • rodn-admin-user-business-roles
  • rodn-labels-refactoring
  • rodn-logout-refactoring
  • rodn-rename-form-data
  • aou-0.0.1
  • aou-0.0.2
  • aou-0.0.3
  • aou-0.0.4
  • aou-0.0.5
  • aou-1.0.0
  • aou-1.0.1
  • aou-1.0.2
  • aou-1.0.3
  • aou-1.0.4
  • aou-1.0.5
  • aou-1.0.6
  • aou-1.1.0
  • aou-1.1.1
  • aou-1.1.2
  • aou-1.2.0-RC1
  • aou-1.2.0-RC2
  • aou-1.2.0-RC3
  • aou-1.2.0-alpha1
  • aou-2.0.0
  • aou-2.0.1
  • aou-2.0.2
  • aou-2.0.3
  • aou-2.0.4
  • aou-2.0.5
  • aou-2.0.6
  • aou-2.0.7
  • aou-2.1.0
  • aou-2.1.1
  • aou-2.1.2
  • aou-2.1.3
  • aou-2.1.4
  • aou-2.1.5
  • aou-2.1.6
  • aou-2.1.7
  • aou-2.2.0
67 results
Show changes
Commits on Source (2)
Showing
with 103 additions and 76 deletions
......@@ -60,11 +60,11 @@
<mat-error #errors></mat-error>
</mat-form-field>
<mat-form-field *ngIf="getFormControl(formDefinition.repec) as fd"
<mat-form-field *ngIf="getFormControl(formDefinition.dblp) as fd"
[appearance]="appearanceInputMaterial"
[floatLabel]="positionLabelInputMaterial"
>
<mat-label>{{labelTranslateEnum.repec | translate}}</mat-label>
<mat-label>{{labelTranslateEnum.dblp | translate}}</mat-label>
<input matInput
[solidifyValidation]="errors"
[formControl]="fd"
......@@ -73,11 +73,11 @@
<mat-error #errors></mat-error>
</mat-form-field>
<mat-form-field *ngIf="getFormControl(formDefinition.dblp) as fd"
<mat-form-field *ngIf="getFormControl(formDefinition.urn) as fd"
[appearance]="appearanceInputMaterial"
[floatLabel]="positionLabelInputMaterial"
>
<mat-label>{{labelTranslateEnum.dblp | translate}}</mat-label>
<mat-label>{{labelTranslateEnum.urn | translate}}</mat-label>
<input matInput
[solidifyValidation]="errors"
[formControl]="fd"
......@@ -86,11 +86,11 @@
<mat-error #errors></mat-error>
</mat-form-field>
<mat-form-field *ngIf="getFormControl(formDefinition.urn) as fd"
<mat-form-field *ngIf="getFormControl(formDefinition.localNumber) as fd"
[appearance]="appearanceInputMaterial"
[floatLabel]="positionLabelInputMaterial"
>
<mat-label>{{labelTranslateEnum.urn | translate}}</mat-label>
<mat-label>{{labelTranslateEnum.localNumber | translate}}</mat-label>
<input matInput
[solidifyValidation]="errors"
[formControl]="fd"
......@@ -99,11 +99,11 @@
<mat-error #errors></mat-error>
</mat-form-field>
<mat-form-field *ngIf="getFormControl(formDefinition.localNumber) as fd"
<mat-form-field *ngIf="getFormControl(formDefinition.repec) as fd"
[appearance]="appearanceInputMaterial"
[floatLabel]="positionLabelInputMaterial"
>
<mat-label>{{labelTranslateEnum.localNumber | translate}}</mat-label>
<mat-label>{{labelTranslateEnum.repec | translate}}</mat-label>
<input matInput
[solidifyValidation]="errors"
[formControl]="fd"
......
......@@ -2,11 +2,11 @@
[isOpen]="true"
class="panel"
>
<mat-form-field *ngIf="getFormControl(formDefinition.name) as fd"
<mat-form-field *ngIf="getFormControl(formDefinition.place) as fd"
[appearance]="appearanceInputMaterial"
[floatLabel]="positionLabelInputMaterial"
>
<mat-label>{{labelTranslateEnum.title | translate}}</mat-label>
<mat-label>{{labelTranslateEnum.place | translate}}</mat-label>
<input matInput
[solidifyValidation]="errors"
[formControl]="fd"
......@@ -15,11 +15,11 @@
<mat-error #errors></mat-error>
</mat-form-field>
<mat-form-field *ngIf="getFormControl(formDefinition.place) as fd"
<mat-form-field *ngIf="getFormControl(formDefinition.name) as fd"
[appearance]="appearanceInputMaterial"
[floatLabel]="positionLabelInputMaterial"
>
<mat-label>{{labelTranslateEnum.place | translate}}</mat-label>
<mat-label>{{labelTranslateEnum.nameLabel | translate}}</mat-label>
<input matInput
[solidifyValidation]="errors"
[formControl]="fd"
......
......@@ -145,6 +145,24 @@
<mat-error #errors></mat-error>
</mat-form-field>
</ng-template>
<div *ngIf="getFormControl(formDefinition.isUnige) as fd"
class="is-unige"
>
<mat-label class="label">{{labelTranslateEnum.unigeAffiliation | translate}}</mat-label>
<mat-radio-group *ngIf="fd"
[formControl]="fd"
color="primary"
class="radio-vertical"
>
<mat-radio-button [value]="true"
>{{labelTranslateEnum.yes | translate}}</mat-radio-button>
<mat-radio-button [value]="false"
>{{labelTranslateEnum.no | translate}}</mat-radio-button>
</mat-radio-group>
<mat-hint class="hint">{{labelTranslateEnum.thisPublicationHadAtLeastOneAuthorMemberOfUnige | translate }}</mat-hint>
</div>
</div>
</form>
......@@ -24,4 +24,23 @@
padding-top: 8px;
}
}
.is-unige {
.label {
display: block;
margin-bottom: 10px;
}
.radio-vertical {
display: grid;
grid-template-columns: 1fr;
grid-gap: 6px;
}
.hint {
margin-top: 8px;
display: block;
margin-bottom: 10px;
}
}
}
......@@ -36,15 +36,4 @@
</solidify-panel-expandable>
<div *ngIf="getFormControl(formDefinition.isUnige) as fd"
class="is-unige"
>
<mat-checkbox [formControl]="fd"
color="primary"
>
{{labelTranslateEnum.unigeAffiliation | translate }}
</mat-checkbox>
<mat-hint class="hint">{{labelTranslateEnum.thisPublicationHadAtLeastOneAuthorMemberOfUnige | translate }}</mat-hint>
</div>
</form>
......@@ -4,8 +4,7 @@
margin-bottom: 20px;
}
.is-collaboration,
.is-unige {
.is-collaboration {
.label {
display: block;
margin-bottom: 10px;
......
......@@ -162,50 +162,7 @@ export class DepositFormPresentational extends AbstractPresentational implements
suffixUrlMatcher: (route: ActivatedRoute) => string = (route: ActivatedRoute) => route.snapshot.paramMap.get(AppRoutesEnum.paramStepWithoutPrefixParam);
steps: Step[] = [
{
id: Enums.Deposit.StepEnum.TYPE,
titleToTranslate: LabelTranslateEnum.typeAndMethodOfDeposit,
titleShortToTranslate: LabelTranslateEnum.type,
suffixUrl: Enums.Deposit.StepEnum.TYPE,
numberErrors: () => this.errorFirstStepType,
route: () => [...this.rootUrl, Enums.Deposit.StepEnum.TYPE],
stepFormAbstractControl: this.formGroupFirstStepType,
},
{
id: Enums.Deposit.StepEnum.FILES,
titleToTranslate: LabelTranslateEnum.filesAndDistributionConditions,
titleShortToTranslate: LabelTranslateEnum.files,
suffixUrl: Enums.Deposit.StepEnum.FILES,
numberErrors: () => this.numberFilesInError,
route: () => [...this.rootUrl, Enums.Deposit.StepEnum.FILES],
},
{
id: Enums.Deposit.StepEnum.CONTRIBUTORS,
titleToTranslate: LabelTranslateEnum.contributorsAndAffiliations,
titleShortToTranslate: LabelTranslateEnum.contributors,
suffixUrl: Enums.Deposit.StepEnum.CONTRIBUTORS,
numberErrors: () => this.errorThirdStepContributors,
route: () => [...this.rootUrl, Enums.Deposit.StepEnum.CONTRIBUTORS],
stepFormAbstractControl: this.formGroupThirdStepContributors,
},
{
id: Enums.Deposit.StepEnum.DESCRIPTION,
titleToTranslate: LabelTranslateEnum.descriptionOfTheDocument,
titleShortToTranslate: LabelTranslateEnum.description,
suffixUrl: Enums.Deposit.StepEnum.DESCRIPTION,
numberErrors: () => this.errorFourthStepDescription,
route: () => [...this.rootUrl, Enums.Deposit.StepEnum.DESCRIPTION],
stepFormAbstractControl: this.formGroupFourthStepDescription,
},
{
id: Enums.Deposit.StepEnum.SUMMARY,
titleToTranslate: LabelTranslateEnum.finalVerificationAndSubmission,
titleShortToTranslate: LabelTranslateEnum.confirm,
suffixUrl: Enums.Deposit.StepEnum.SUMMARY,
route: () => [...this.rootUrl, Enums.Deposit.StepEnum.SUMMARY],
},
];
steps: Step[];
@Input()
numberFilesInError: number;
......@@ -306,6 +263,7 @@ export class DepositFormPresentational extends AbstractPresentational implements
ngOnInit(): void {
super.ngOnInit();
this.initNewForm();
this._defineStep();
if (isNotNullNorUndefined(this.model)) {
this.bindFormTo(this.model);
} else {
......@@ -323,17 +281,64 @@ export class DepositFormPresentational extends AbstractPresentational implements
}
}
private _defineStep(): void {
this.steps = [
{
id: Enums.Deposit.StepEnum.TYPE,
titleToTranslate: LabelTranslateEnum.typeAndMethodOfDeposit,
titleShortToTranslate: LabelTranslateEnum.type,
suffixUrl: Enums.Deposit.StepEnum.TYPE,
numberErrors: () => this.errorFirstStepType,
route: () => [...this.rootUrl, Enums.Deposit.StepEnum.TYPE],
stepFormAbstractControl: this.formGroupFirstStepType,
},
{
id: Enums.Deposit.StepEnum.FILES,
titleToTranslate: LabelTranslateEnum.filesAndDistributionConditions,
titleShortToTranslate: LabelTranslateEnum.files,
suffixUrl: Enums.Deposit.StepEnum.FILES,
numberErrors: () => this.numberFilesInError,
route: () => [...this.rootUrl, Enums.Deposit.StepEnum.FILES],
},
{
id: Enums.Deposit.StepEnum.CONTRIBUTORS,
titleToTranslate: LabelTranslateEnum.contributorsAndAffiliations,
titleShortToTranslate: LabelTranslateEnum.contributors,
suffixUrl: Enums.Deposit.StepEnum.CONTRIBUTORS,
numberErrors: () => this.errorThirdStepContributors,
route: () => [...this.rootUrl, Enums.Deposit.StepEnum.CONTRIBUTORS],
stepFormAbstractControl: this.formGroupThirdStepContributors,
},
{
id: Enums.Deposit.StepEnum.DESCRIPTION,
titleToTranslate: LabelTranslateEnum.descriptionOfTheDocument,
titleShortToTranslate: LabelTranslateEnum.description,
suffixUrl: Enums.Deposit.StepEnum.DESCRIPTION,
numberErrors: () => this.errorFourthStepDescription,
route: () => [...this.rootUrl, Enums.Deposit.StepEnum.DESCRIPTION],
stepFormAbstractControl: this.formGroupFourthStepDescription,
},
{
id: Enums.Deposit.StepEnum.SUMMARY,
titleToTranslate: LabelTranslateEnum.finalVerificationAndSubmission,
titleShortToTranslate: LabelTranslateEnum.confirm,
suffixUrl: Enums.Deposit.StepEnum.SUMMARY,
route: () => [...this.rootUrl, Enums.Deposit.StepEnum.SUMMARY],
},
];
}
protected initNewForm(): void {
this.formGroupFirstStepType = this._fb.group({
[this.formDefinitionFirstStepType.title]: [undefined, [Validators.required, SolidifyValidator]],
[this.formDefinitionFirstStepType.type]: ["", [Validators.required, SolidifyValidator]],
[this.formDefinitionFirstStepType.subtype]: ["", [Validators.required, SolidifyValidator]],
[this.formDefinitionFirstStepType.subSubtype]: ["", [SolidifyValidator]],
[this.formDefinitionFirstStepType.isUnige]: [undefined, [Validators.required, SolidifyValidator]],
});
this.formGroupThirdStepContributors = this._fb.group({
[this.formDefinitionThirdStepContributors.contributorMembersFrontend]: this._fb.array([], [SolidifyValidator]),
[this.formDefinitionThirdStepContributors.collaborationMembersFrontend]: this._fb.array([], [SolidifyValidator]),
[this.formDefinitionThirdStepContributors.isUnige]: [false, [Validators.required, SolidifyValidator]],
[this.formDefinitionThirdStepContributors.isCollaboration]: [false, [SolidifyValidator]],
});
this.formGroupFourthStepDescription = this._fb.group({
......@@ -423,8 +428,6 @@ export class DepositFormPresentational extends AbstractPresentational implements
this.typeChange(depositFormModel.type.type);
}
if (isNotNullNorUndefined(depositFormModel.contributors)) {
this.formGroupThirdStepContributors.get(this.formDefinitionThirdStepContributors.isUnige).setValue(depositFormModel.contributors.isUnige);
if (isNullOrUndefined(depositFormModel.contributors.isCollaboration)) {
depositFormModel.contributors.isCollaboration = false;
this.formGroupThirdStepContributors.get(this.formDefinitionThirdStepContributors.contributorMembersFrontend).setValue(depositFormModel.contributors.contributors);
......@@ -570,7 +573,6 @@ export class DepositFormPresentational extends AbstractPresentational implements
protected convertFormToDepositFormModel(): DepositFormModel {
const contributors = {} as DepositFormStepContributors;
contributors.isCollaboration = this.formGroupThirdStepContributors.get(this.formDefinitionThirdStepContributors.isCollaboration)?.value;
contributors.isUnige = this.formGroupThirdStepContributors.get(this.formDefinitionThirdStepContributors.isUnige)?.value;
const listContributors = this.formGroupThirdStepContributors.get(this.formDefinitionThirdStepContributors.contributorMembersFrontend)?.value;
const listCollaborationMembers = this.formGroupThirdStepContributors.get(this.formDefinitionThirdStepContributors.collaborationMembersFrontend)?.value;
const listMerged = [...listContributors, ...listCollaborationMembers];
......@@ -695,7 +697,7 @@ export class DepositFormPresentational extends AbstractPresentational implements
if (contributors.length === 0 && collaborationsMembers.length === 0) {
return ContributorUnigeCheck.NO_CONTRIBUTOR;
}
const isUnigeAffiliation = form.get(this.formDefinitionThirdStepContributors.isUnige)?.value;
const isUnigeAffiliation = this.formGroupFirstStepType.get(this.formDefinitionFirstStepType.isUnige)?.value;
const isUnigeContributor = contributors.findIndex(c => isNonEmptyString(c.cnIndividu)) !== -1;
const isUnigeCollaborationMember = collaborationsMembers.findIndex(c => isNonEmptyString(c.cnIndividu)) !== -1;
......
......@@ -16,6 +16,7 @@ export class FormComponentFormDefinitionFirstStepType extends BaseFormDefinition
@PropertyName() type: string;
@PropertyName() subtype: string;
@PropertyName() subSubtype: string;
@PropertyName() isUnige: string;
}
export class FormComponentFormDefinitionThirdStepContributors extends BaseFormDefinition {
......@@ -23,7 +24,6 @@ export class FormComponentFormDefinitionThirdStepContributors extends BaseFormDe
@PropertyName() contributorMembersFrontend: string;
@PropertyName() collaborationMembersFrontend: string;
@PropertyName() isCollaboration: string;
@PropertyName() isUnige: string;
}
export class FormComponentFormDefinitionFourthStepDescription extends BaseFormDefinition {
......
......@@ -838,7 +838,7 @@
"publicationDate": "Date de publication",
"publicationIdentifiers": "Identifiants de publication",
"publicationYear": "Année de publication",
"publisher": "Éditeur",
"publisher": "Maison d'édition",
"query": "Requête",
"queryType": "Type de requête",
"rating": "Évaluation",
......