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

Target

Select target project
  • aou/aou-portal
1 result
Select Git revision
Show changes
Commits on Source (27)
Showing
with 290 additions and 281 deletions
### [2.0.1](https://gitlab.unige.ch/aou/aou-portal/compare/aou-2.0.0...aou-2.0.1) (2023-04-27)
### Features
* **deposit details:** [AOU-1602] display bibliographic reference in ISO format ([06efb37](https://gitlab.unige.ch/aou/aou-portal/commit/06efb37e92e57c6e216e57a18304a8f6d7880c25))
### Bug Fixes
* [AOU-1632] Update publication public display ([cbbd1c1](https://gitlab.unige.ch/aou/aou-portal/commit/cbbd1c1c8f6e4a5b1ed6833c694da004ebe84191))
* **deposit details:** fix PMID never displayed ([0eab590](https://gitlab.unige.ch/aou/aou-portal/commit/0eab590edf3a063e16c78f0485ea69c4e735aea5))
* **details page:** [AOU-1632] show publication sub-subtype ([0ab486a](https://gitlab.unige.ch/aou/aou-portal/commit/0ab486a3e992f30ac0802001f35e6673f519696c))
* **details page:** [AOU-1655] display correct language name (or iso code if translation doesn't exist) ([991d87f](https://gitlab.unige.ch/aou/aou-portal/commit/991d87f62e049879ad82b76499783d2edb4c74ab))
* **details page:** do not show presentedAt when value is empty ([c24a8e5](https://gitlab.unige.ch/aou/aou-portal/commit/c24a8e572c5bb4cd2a4f979e900a7617508e4a81))
* **details page:** force change detection to fix 'Show more' button visibility ([79f0004](https://gitlab.unige.ch/aou/aou-portal/commit/79f0004fa64cbd54a416f5d651c5335d43bbf558))
* **details page:** move errata note at first position ([769e9b2](https://gitlab.unige.ch/aou/aou-portal/commit/769e9b2f000a280379c1bdb76d150b99955ee98e))
* **details page:** print 'arXiv' instead of 'ARXIV' ([dbe277f](https://gitlab.unige.ch/aou/aou-portal/commit/dbe277fce342b477fd431c4f9a13f5d761e808ff))
* **details page:** rename pagination into pages number ([cc92783](https://gitlab.unige.ch/aou/aou-portal/commit/cc92783f42788c30793602f34960c0fae9b1279b))
* **details page:** show DBLP identifier ([894aa72](https://gitlab.unige.ch/aou/aou-portal/commit/894aa72abc2fc1846b0cce9b478033086069c3e4))
* **details page:** show publishedIn and rawPagesInfo only if not empty ([f1c4ce1](https://gitlab.unige.ch/aou/aou-portal/commit/f1c4ce1185626717d92d94651d2c91140c664ff3))
* **details page:** wrap structures and fundings when too large ([f616798](https://gitlab.unige.ch/aou/aou-portal/commit/f616798138f05500b483eb3fc5ac91340acaccbb))
* display meta pdf url only if public ([3244a6a](https://gitlab.unige.ch/aou/aou-portal/commit/3244a6a6ea8a38b14402c74a05bdee75bde0f2dc))
* don't send authorization token on short doi endpoint ([dee7c35](https://gitlab.unige.ch/aou/aou-portal/commit/dee7c353a6aa307fa9c64e699dbe15dcd438d1fe))
* **header:** [AOU-1641] Show searchbox in header when on favorite searches and bibliography ([43e65bf](https://gitlab.unige.ch/aou/aou-portal/commit/43e65bfec9139ae5ae7b9dabe6dab326636d5fad))
* **i18n:** use 'number of pages' instead of 'pages number' ([2572fdd](https://gitlab.unige.ch/aou/aou-portal/commit/2572fddaaf429559cb4a9d768478276db6a1710f))
* **meta:** use subtype instead of type ([4e2de2c](https://gitlab.unige.ch/aou/aou-portal/commit/4e2de2c01b846a7507f8c058abf96d9fe53f7e7a))
## [2.0.0](https://gitlab.unige.ch/aou/aou-portal/compare/aou-1.2.0-RC3...aou-2.0.0) (2023-03-21)
......
This diff is collapsed.
......@@ -228,5 +228,8 @@
}
}
},
"defaultProject": "aou-portal"
"defaultProject": "aou-portal",
"cli": {
"analytics": false
}
}
......@@ -6,7 +6,7 @@
"packages": {
"": {
"name": "aou-portal",
"version": "2.0.0",
"version": "2.1.0-SNAPSHOT",
"hasInstallScript": true,
"license": "GPL-2.0-or-later",
"dependencies": {
......@@ -55,7 +55,7 @@
"normalize.css": "8.0.1",
"patch-package": "6.4.7",
"rxjs": "7.5.7",
"solidify-frontend": "4.1.3",
"solidify-frontend": "4.1.4",
"sync-pom-version-to-package": "1.6.1",
"tiff.js": "1.0.0",
"tslib": "2.4.0",
......@@ -23109,9 +23109,9 @@
}
},
"node_modules/solidify-frontend": {
"version": "4.1.3",
"resolved": "https://nexus.unige.ch/repository/npm-all/solidify-frontend/-/solidify-frontend-4.1.3.tgz",
"integrity": "sha512-dOtEynqVj1oBHNg3R41q11xvr8Ub7X93ZGpmKgMTzLVhiphllcGb+WC+FxG8izTVNuB/GLVr44C+c+2fiOIyGg==",
"version": "4.1.4",
"resolved": "https://nexus.unige.ch/repository/npm-all/solidify-frontend/-/solidify-frontend-4.1.4.tgz",
"integrity": "sha512-7exQsFgQQejlOI/oH/VcztTAPO69aGerTXsBPMr0pn53W/mVNBg7CDanKEXKG33A8ADTGUIwprsuwwladz4cTQ==",
"license": "GPL-2.0-or-later",
"dependencies": {
"tslib": "^2.3.0"
......@@ -41983,9 +41983,9 @@
}
},
"solidify-frontend": {
"version": "4.1.3",
"resolved": "https://nexus.unige.ch/repository/npm-all/solidify-frontend/-/solidify-frontend-4.1.3.tgz",
"integrity": "sha512-dOtEynqVj1oBHNg3R41q11xvr8Ub7X93ZGpmKgMTzLVhiphllcGb+WC+FxG8izTVNuB/GLVr44C+c+2fiOIyGg==",
"version": "4.1.4",
"resolved": "https://nexus.unige.ch/repository/npm-all/solidify-frontend/-/solidify-frontend-4.1.4.tgz",
"integrity": "sha512-7exQsFgQQejlOI/oH/VcztTAPO69aGerTXsBPMr0pn53W/mVNBg7CDanKEXKG33A8ADTGUIwprsuwwladz4cTQ==",
"requires": {
"@elastic/apm-rum-angular": "2.1.7",
"docx-preview": "0.1.13",
......@@ -105,7 +105,7 @@
"normalize.css": "8.0.1",
"patch-package": "6.4.7",
"rxjs": "7.5.7",
"solidify-frontend": "4.1.3",
"solidify-frontend": "4.1.4",
"sync-pom-version-to-package": "1.6.1",
"tiff.js": "1.0.0",
"tslib": "2.4.0",
......
......@@ -3,14 +3,14 @@ const proxyConfLocal = require("./proxy.conf.local.js")
exports.shortDoi = (logLevel) => {
return {
"/api/short-doi": {
"target": "http://shortdoi.org",
"target": "https://shortdoi.org",
"pathRewrite": {
"^/api/short-doi": ""
},
"changeOrigin": true,
"logLevel": logLevel,
"logProvider": () => console,
},
}
}
}
......@@ -20,11 +20,11 @@ exports.oauth = (logLevel, port) => {
"target": `http://localhost:${port}`,
"logLevel": logLevel,
"logProvider": () => console,
},
}
}
}
exports.shiblogin = (logLevel, port, firstName = "Marty", lastName = "McFly", externalUid = "999999@unige.ch", userMail="Marty.McFly@unige.ch") => {
exports.shiblogin = (logLevel, port, firstName = "Marty", lastName = "McFly", externalUid = "999999@unige.ch", userMail = `${firstName}.${lastName}@unige.ch`) => {
return {
"/shiblogin": {
"target": `http://localhost:${port}`,
......@@ -41,6 +41,6 @@ exports.shiblogin = (logLevel, port, firstName = "Marty", lastName = "McFly", ex
},
"logLevel": logLevel,
"logProvider": () => console,
},
}
}
}
......@@ -40,7 +40,7 @@
[logo]="logo"
[frontendVersion]="frontendVersionObs | async"
[darkMode]="darkModeObs | async"
[isHomePage]="isHomePage"
[showSearchInput]="showSearchInputInMainToolbar"
[listStaticPages]="listStaticPagesObs | async"
(languageChange)="useLanguage($event)"
(navigateChange)="navigate($event)"
......
......@@ -115,6 +115,7 @@ export class AppComponent extends SolidifyApplicationAbstractAppComponent {
currentModule: string;
isHomePage: boolean;
showSearchInputInMainToolbar: boolean;
displayBreadcrumb = environment.displayBreadcrumb;
......@@ -221,6 +222,7 @@ export class AppComponent extends SolidifyApplicationAbstractAppComponent {
tap(urlState => {
this.ignoreGrid = false;
this.isHomePage = false;
this.showSearchInputInMainToolbar = true;
if (urlState) {
const url = urlState.url;
this._setCurrentModuleAndGrid(url);
......@@ -242,21 +244,27 @@ export class AppComponent extends SolidifyApplicationAbstractAppComponent {
if (url.startsWith(SOLIDIFY_CONSTANTS.URL_SEPARATOR + RoutesEnum.homeSearch)) {
this.currentModule = undefined;
this.isHomePage = true;
this.showSearchInputInMainToolbar = false;
this.ignoreGrid = true;
return;
}
if (url.startsWith(SOLIDIFY_CONSTANTS.URL_SEPARATOR + RoutesEnum.homePinboard)) {
this.currentModule = RoutesEnum.homePinboard;
this.isHomePage = true;
this.ignoreGrid = true;
return;
}
if (url.startsWith(SOLIDIFY_CONSTANTS.URL_SEPARATOR + RoutesEnum.homePage)) {
if (url.startsWith(SOLIDIFY_CONSTANTS.URL_SEPARATOR + RoutesEnum.homeBibliography)) {
this.currentModule = RoutesEnum.homeBibliography;
this.ignoreGrid = true;
return;
}
if (url === SOLIDIFY_CONSTANTS.URL_SEPARATOR + RoutesEnum.homePage || url.startsWith(SOLIDIFY_CONSTANTS.URL_SEPARATOR + RoutesEnum.homePage + "?")) {
this.currentModule = RoutesEnum.homePage;
this.isHomePage = true;
this.showSearchInputInMainToolbar = false;
this.ignoreGrid = true;
return;
}
......
......@@ -36,6 +36,8 @@ import {
StaticPage,
User,
} from "@models";
import {Navigate} from "@ngxs/router-plugin";
import {Store} from "@ngxs/store";
import {ApplicationRolePermissionEnum} from "@shared/enums/application-role-permission.enum";
import {DataTestEnum} from "@shared/enums/data-test.enum";
import {IconNameEnum} from "@shared/enums/icon-name.enum";
......@@ -56,8 +58,6 @@ import {
SOLIDIFY_CONSTANTS,
} from "solidify-frontend";
import LanguageEnum = Enums.Language.LanguageEnum;
import {Store} from "@ngxs/store";
import {Navigate} from "@ngxs/router-plugin";
@Directive()
export abstract class AbstractMainToolbarPresentational extends SharedAbstractPresentational {
......@@ -278,7 +278,8 @@ export abstract class AbstractMainToolbarPresentational extends SharedAbstractPr
}
login(): void {
this._oauthService.initAuthorizationCodeFlow();
const currentPath = window?.location.pathname + window?.location.search;
this._oauthService.initAuthorizationCodeFlow(currentPath);
}
logout(): void {
......
......@@ -14,7 +14,7 @@
</div>
<ng-container *ngIf="breakpointService.isBiggerThanSmObs() | async">
<solidify-search-input *ngIf="!isHomePage"
<solidify-search-input *ngIf="showSearchInput"
[labelToTranslate]="'home.searchbar.placeholder' | translate"
[positionLabel]="'auto'"
[appearance]="'legacy'"
......
......@@ -52,7 +52,7 @@ export class MainToolbarDesktopHorizontalPresentational extends AbstractMainTool
logo: string;
@Input()
isHomePage: boolean;
showSearchInput: boolean;
private readonly _userGuideOpenBS: BehaviorSubject<void | undefined> = new BehaviorSubject<void | undefined>(undefined);
@Output("userGuideOpen")
......
......@@ -14,7 +14,7 @@
[photoUser]="photoUser"
[logo]="logo"
[listStaticPages]="listStaticPages"
[isHomePage]="isHomePage"
[showSearchInput]="showSearchInput"
(languageChange)="changeLanguage($event)"
(navigateChange)="changeNavigate($event)"
(logoutChange)="logout()"
......
......@@ -97,7 +97,7 @@ export class MainToolbarPresentational extends SharedAbstractPresentational {
logo: string;
@Input()
isHomePage: boolean;
showSearchInput: boolean;
@Input()
listStaticPages: StaticPage[];
......
......@@ -733,6 +733,154 @@ export namespace Enums {
PREPRINT = "R4",
}
export const DepositSubTypeEnumTranslate: KeyValue[] = [
{
key: DepositSubTypeEnum.A1,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.A1"),
},
{
key: DepositSubTypeEnum.A2,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.A2"),
},
{
key: DepositSubTypeEnum.A3,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.A3"),
},
{
key: DepositSubTypeEnum.C1,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.C1"),
},
{
key: DepositSubTypeEnum.C2,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.C2"),
},
{
key: DepositSubTypeEnum.C3,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.C3"),
},
{
key: DepositSubTypeEnum.C4,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.C4"),
},
{
key: DepositSubTypeEnum.D1,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.D1"),
},
{
key: DepositSubTypeEnum.D2,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.D2"),
},
{
key: DepositSubTypeEnum.D3,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.D3"),
},
{
key: DepositSubTypeEnum.D4,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.D4"),
},
{
key: DepositSubTypeEnum.D5,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.D5"),
},
{
key: DepositSubTypeEnum.J1,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.J1"),
},
{
key: DepositSubTypeEnum.L1,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.L1"),
},
{
key: DepositSubTypeEnum.L2,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.L2"),
},
{
key: DepositSubTypeEnum.L3,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.L3"),
},
{
key: DepositSubTypeEnum.L5,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.L5"),
},
{
key: DepositSubTypeEnum.R1,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.R1"),
},
{
key: DepositSubTypeEnum.R2,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.R2"),
},
{
key: DepositSubTypeEnum.R3,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.R3"),
},
{
key: DepositSubTypeEnum.R4,
value: MARK_AS_TRANSLATABLE("enum.depositSubType.R4"),
},
];
export enum DepositSubSubTypeNameEnum {
ARTICLE = "Article",
ARTICLE_DONNEES = "Article de données",
ARTICLE_VIDEO = "Article vidéo",
COMMENTAIRE = "Commentaire",
COMPTE_RENDU_LIVRE = "Compte rendu de livre",
EDITORIAL = "Editorial",
LETTRE = "Lettre",
META_ANALYSIS = "Méta-analyse",
RAPPORT_DU_CAS = "Rapport de cas",
REVIEW_LITERATURE = "Revue de la littérature",
BILLET_DE_BLOG = "Billet de blog",
}
export const DepositSubSubTypeNameEnumTranslate: KeyValue[] = [
{
key: DepositSubSubTypeNameEnum.ARTICLE,
value: MARK_AS_TRANSLATABLE("enum.depositSubSubType.Article"),
},
{
key: DepositSubSubTypeNameEnum.COMPTE_RENDU_LIVRE,
value: MARK_AS_TRANSLATABLE("enum.depositSubSubType.Compte rendu de livre"),
},
{
key: DepositSubSubTypeNameEnum.RAPPORT_DU_CAS,
value: MARK_AS_TRANSLATABLE("enum.depositSubSubType.Rapport de cas"),
},
{
key: DepositSubSubTypeNameEnum.COMMENTAIRE,
value: MARK_AS_TRANSLATABLE("enum.depositSubSubType.Commentaire"),
},
{
key: DepositSubSubTypeNameEnum.ARTICLE_DONNEES,
value: MARK_AS_TRANSLATABLE("enum.depositSubSubType.Article de données"),
},
{
key: DepositSubSubTypeNameEnum.EDITORIAL,
value: MARK_AS_TRANSLATABLE("enum.depositSubSubType.Editorial"),
},
{
key: DepositSubSubTypeNameEnum.LETTRE,
value: MARK_AS_TRANSLATABLE("enum.depositSubSubType.Lettre"),
},
{
key: DepositSubSubTypeNameEnum.META_ANALYSIS,
value: MARK_AS_TRANSLATABLE("enum.depositSubSubType.Méta-analyse"),
},
{
key: DepositSubSubTypeNameEnum.REVIEW_LITERATURE,
value: MARK_AS_TRANSLATABLE("enum.depositSubSubType.Revue de la littérature"),
},
{
key: DepositSubSubTypeNameEnum.ARTICLE_VIDEO,
value: MARK_AS_TRANSLATABLE("enum.depositSubSubType.Article vidéo"),
},
{
key: DepositSubSubTypeNameEnum.BILLET_DE_BLOG,
value: MARK_AS_TRANSLATABLE("enum.depositSubSubType.Billet de blog"),
},
];
export enum FileTypeStringEnum {
ARTICLE_PUBLISHED_VERSION = "Article (Published version)",
ARTICLE_ACCEPTED_VERSION = "Article (Accepted version)",
......
......@@ -72,6 +72,7 @@
[depositId]="model?.resId"
[depositFormModel]="convertedFormToDepositFormModelForSummary"
[creator]="model?.creator"
[lastEditor]="model?.lastEditor"
[listCurrentStatus]="listCurrentStatus"
[isValidationMode]="isValidationMode"
[isImported]="model?.importSource | isNotNullNorUndefined"
......
......@@ -117,28 +117,33 @@
{{labelTranslateEnum.thereIsAtLeastOneKeywordThatIsLongerThanXCharacters | translate: {number: keywordCharLimitForWarning} }}
</div>
<div *ngIf="creator | isNotNullNorUndefined"
<div *ngIf="(creator | isNotNullNorUndefined) || (lastEditor | isNotNullNorUndefined)"
class="submitted-by"
>
<span>{{labelTranslateEnum.submittedBy | translate}}:
<span *ngIf="creator | isNotNullNorUndefined">
{{labelTranslateEnum.submittedBy | translate}}
<ng-template [ngIf]="mailToCreatorUrl | isNotNullNorUndefinedNorWhiteString"
[ngIfElse]="noMail"
[ngIfElse]="noMailCreator"
>
<a [href]="mailToCreatorUrl">{{creator.fullName}}</a>
</ng-template>
<ng-template #noMail>
<ng-template #noMailCreator>
{{creator.fullName}}
</ng-template>
</span>
<solidify-icon *ngIf="creator.orcid | isNonEmptyString"
matSuffix
[iconName]="iconNameEnum.orcid"
[matTooltip]="creator.orcid"
(click)="goToOrcid(creator.orcid)"
class="size-16 orcid"
>
</solidify-icon>
<span *ngIf="(lastEditor | isNotNullNorUndefined) && creator?.email !== lastEditor?.email">
, {{labelTranslateEnum.lastEditedBy | translate}}
<ng-template [ngIf]="mailToLastEditorUrl | isNotNullNorUndefinedNorWhiteString"
[ngIfElse]="noMailEditor"
>
<a [href]="mailToLastEditorUrl">{{lastEditor.fullName}}</a>
</ng-template>
<ng-template #noMailEditor>
{{lastEditor.fullName}}
</ng-template>
</span>
</div>
</div>
</div>
......
......@@ -59,7 +59,7 @@ import {AppSystemPropertyState} from "@app/stores/system-property/app-system-pro
import {Enums} from "@enums";
import {environment} from "@environments/environment";
import {
Creator,
Creator, PersonWithEmail,
PublicationSubtypeContributorRoleDTO,
ResearchGroup,
Romeo,
......@@ -148,6 +148,7 @@ export class DepositSummaryPresentational extends AbstractPresentational impleme
set depositId(value: string) {
this._depositId = value;
this._computeMailToCreatorUrl();
this._computeMailToLastEditorUrl();
}
get depositId(): string {
......@@ -170,6 +171,7 @@ export class DepositSummaryPresentational extends AbstractPresentational impleme
depositFormModelCleanToSubmit: DepositFormModel;
mailToCreatorUrl: string;
mailToLastEditorUrl: string;
@Input()
set depositFormModel(value: DepositFormModel) {
......@@ -181,6 +183,7 @@ export class DepositSummaryPresentational extends AbstractPresentational impleme
this._depositFormModel = ObjectUtil.clone(this.depositFormModelCleanToSubmit, true);
this._depositFormModel = AouObjectUtil.cleanEmptyAttributes(this._depositFormModel);
this._computeMailToCreatorUrl();
this._computeMailToLastEditorUrl();
}
get depositFormModel(): DepositFormModel {
......@@ -209,6 +212,18 @@ export class DepositSummaryPresentational extends AbstractPresentational impleme
return this._creator;
}
private _lastEditor: PersonWithEmail;
@Input()
set lastEditor(value: Creator) {
this._lastEditor = value;
this._computeMailToLastEditorUrl();
}
get lastEditor(): PersonWithEmail {
return this._lastEditor;
}
@Input()
listCurrentStatus: MappingObject<Enums.DocumentFile.StatusEnum, number>;
......@@ -318,7 +333,10 @@ export class DepositSummaryPresentational extends AbstractPresentational impleme
private readonly _translate: TranslateService,
) {
super();
this.subscribe(this._translate.onLangChange, () => this._computeMailToCreatorUrl());
this.subscribe(this._translate.onLangChange, () => {
this._computeMailToCreatorUrl();
this._computeMailToLastEditorUrl();
});
}
ngOnChanges(changes: SimpleChanges): void {
......@@ -989,17 +1007,24 @@ export class DepositSummaryPresentational extends AbstractPresentational impleme
}
private _computeMailToCreatorUrl(): void {
if (isNullOrUndefined(this.creator?.email) || isNullOrUndefined(this.depositFormModel) || isNullOrUndefined(this.depositId)) {
this.mailToCreatorUrl = undefined;
return;
this.mailToCreatorUrl = this._getEmailUrl(this.creator?.email, MARK_AS_TRANSLATABLE("deposit.mailToCreator.subject"), MARK_AS_TRANSLATABLE("deposit.mailToCreator.body"));
}
private _computeMailToLastEditorUrl(): void {
this.mailToLastEditorUrl = this._getEmailUrl(this.lastEditor?.email, MARK_AS_TRANSLATABLE("deposit.mailToLastEditor.subject"), MARK_AS_TRANSLATABLE("deposit.mailToLastEditor.body"));
}
private _getEmailUrl(email: string, i18nSubject: string, i18nBody: string): string | undefined {
if (isNullOrUndefined(email) || isNullOrUndefined(this.depositFormModel) || isNullOrUndefined(this.depositId)) {
return undefined;
}
const title = this.depositFormModel.type?.title?.text;
const shortTitle = title.length > this._SHORT_TITLE_MAX_SIZE ? title.substring(0, this._SHORT_TITLE_MAX_SIZE) + "..." : title;
const url = window.location.origin + SOLIDIFY_CONSTANTS.URL_SEPARATOR + SOLIDIFY_CONSTANTS.HASHTAG + SOLIDIFY_CONSTANTS.URL_SEPARATOR + RoutesEnum.depositDetail + SOLIDIFY_CONSTANTS.URL_SEPARATOR + this.depositId;
const subject = this._translate.instant(MARK_AS_TRANSLATABLE("deposit.mailToCreator.subject"), {shortTitle: shortTitle});
const body = this._translate.instant(MARK_AS_TRANSLATABLE("deposit.mailToCreator.body"), {title: title, url: url});
const subject = this._translate.instant(i18nSubject, {shortTitle: shortTitle});
const body = this._translate.instant(i18nBody, {title: title, url: url});
this.mailToCreatorUrl = `${this._MAIL_TO}${this.creator?.email}?${this._MAIL_SUBJECT}=${subject}&${this._MAIL_BODY}=${body}`;
return `${this._MAIL_TO}${email}?${this._MAIL_SUBJECT}=${subject}&${this._MAIL_BODY}=${body}`;
}
}
......
......@@ -33,6 +33,7 @@
[depositFormModel]="depositFormModelObs | async"
[depositId]="depositId"
[creator]="(currentObs | async)?.creator"
[lastEditor]="(currentObs | async)?.lastEditor"
[isValidationMode]="isValidationMode"
[listCurrentStatus]="listCurrentStatusObs | async"
[isImported]="isImported"
......
......@@ -1722,7 +1722,7 @@ export class DepositFormRuleHelper {
subType === Enums.Deposit.DepositFriendlyNameSubTypeEnum.PRESENTATION_SPEECH ||
subType === Enums.Deposit.DepositFriendlyNameSubTypeEnum.BOOK ||
subType === Enums.Deposit.DepositFriendlyNameSubTypeEnum.COLLECTIVE_WORK) {
return LabelTranslateEnum.pageNumber;
return LabelTranslateEnum.numberOfPages;
} else {
return LabelTranslateEnum.paging;
}
......
......@@ -343,7 +343,8 @@ export class HomeAdvancedSearchPresentational extends SharedAbstractPresentation
const criteria = this.listCriterias.find(c => c.alias === alias);
let shouldCheck = false;
if (isNotNullNorUndefined(criteria?.isChildOf)) {
shouldCheck = criteria?.isChildOf?.type === Enums.Criteria.TypeEnum.STRUCTURE_COMBINED;
shouldCheck = (criteria?.isChildOf?.type === Enums.Criteria.TypeEnum.STRUCTURE_COMBINED
|| criteria?.isChildOf?.type === Enums.Criteria.TypeEnum.CONTRIBUTOR_COMBINED);
}
setTimeout(() => {
formGroup.get(this.formDefinition.checked).setValue(shouldCheck);
......