diff --git a/dmp-frontend/src/app/app.component.html b/dmp-frontend/src/app/app.component.html
index 3e7595fa7..fbe96e3b4 100644
--- a/dmp-frontend/src/app/app.component.html
+++ b/dmp-frontend/src/app/app.component.html
@@ -25,4 +25,4 @@
-
\ No newline at end of file
+
diff --git a/dmp-frontend/src/app/core/common/enum/role-organization-type.ts b/dmp-frontend/src/app/core/common/enum/role-organization-type.ts
new file mode 100644
index 000000000..e8b87c7b4
--- /dev/null
+++ b/dmp-frontend/src/app/core/common/enum/role-organization-type.ts
@@ -0,0 +1,16 @@
+export enum RoleOrganizationType {
+ Faculty = "Faculty",
+ Librarian = "Librarian",
+ Researcher = "Researcher",
+ Student = "Student (BA/BSc, MSc)",
+ EarlyCareerResearcher = "Early Career Researcher (PhD candidate, post-graduate)",
+ ResearchAdministrator = "Research Administrator",
+ RepositoryManager = "Repository Manager",
+ ResearchInfrastructure = "Research Infrastructure",
+ ServiceProvider = "Service Provider",
+ Publisher = "Publisher",
+ ResearchFunder = "Research Funder",
+ Policymaker = "Policymaker",
+ SMEIndustry = "SME/ Industry",
+ Other = "Other"
+}
diff --git a/dmp-frontend/src/app/core/model/user/user-listing.ts b/dmp-frontend/src/app/core/model/user/user-listing.ts
index fde223cb0..89e792cff 100644
--- a/dmp-frontend/src/app/core/model/user/user-listing.ts
+++ b/dmp-frontend/src/app/core/model/user/user-listing.ts
@@ -1,4 +1,6 @@
+import { RoleOrganizationType } from '@app/core/common/enum/role-organization-type';
import { AppRole } from "../../common/enum/app-role";
+import { OrganizationModel } from '../organisation/organization';
export interface UserListingModel {
id: String;
@@ -11,4 +13,6 @@ export interface UserListingModel {
timezone: String;
zenodoEmail: String;
avatarUrl: String;
+ organization: OrganizationModel;
+ roleOrganization: RoleOrganizationType;
}
diff --git a/dmp-frontend/src/app/core/services/utilities/enum-utils.service.ts b/dmp-frontend/src/app/core/services/utilities/enum-utils.service.ts
index 54d821ead..d30f81689 100644
--- a/dmp-frontend/src/app/core/services/utilities/enum-utils.service.ts
+++ b/dmp-frontend/src/app/core/services/utilities/enum-utils.service.ts
@@ -11,6 +11,7 @@ import { ValidationType } from '../../common/enum/validation-type';
import { DatasetProfileInternalDmpEntitiesType } from '../../common/enum/dataset-profile-internal-dmp-entities-type';
import { RecentActivityOrder } from '@app/core/common/enum/recent-activity-order';
import { Role } from '@app/core/common/enum/role';
+import { RoleOrganizationType } from '@app/core/common/enum/role-organization-type';
@Injectable()
export class EnumUtils {
@@ -122,4 +123,23 @@ export class EnumUtils {
case Role.Member: return this.language.instant('FACET-SEARCH.ROLE.MEMBER');
}
}
+
+ toRoleOrganizationString(status: RoleOrganizationType): string {
+ switch (status) {
+ case RoleOrganizationType.Faculty: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.FACULTY');
+ case RoleOrganizationType.Librarian: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.LIBRARIAN');
+ case RoleOrganizationType.Researcher: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.RESEARCHER');
+ case RoleOrganizationType.Student: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.STUDENT');
+ case RoleOrganizationType.EarlyCareerResearcher: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.EARLY-CAREER-RESEARCHER');
+ case RoleOrganizationType.ResearchAdministrator: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.RESEARCH-ADMINISTRATOR');
+ case RoleOrganizationType.RepositoryManager: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.REPOSITORY-MANAGER');
+ case RoleOrganizationType.ResearchInfrastructure: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.RESEARCH-INFRASTRUCTURE');
+ case RoleOrganizationType.ServiceProvider: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.SERVICE-PROVIDER');
+ case RoleOrganizationType.Publisher: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.PUBLISHER');
+ case RoleOrganizationType.ResearchFunder: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.RESEARCH-FUNDER');
+ case RoleOrganizationType.Policymaker: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.POLICY-MAKER');
+ case RoleOrganizationType.SMEIndustry: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.SME-INDUSTRY');
+ case RoleOrganizationType.Other: return this.language.instant('USER-PROFILE.ROLE-ORGANIZATION.OTHER');
+ }
+ }
}
diff --git a/dmp-frontend/src/app/ui/auth/login/login.component.scss b/dmp-frontend/src/app/ui/auth/login/login.component.scss
index 0b52e1d95..30e0811b5 100644
--- a/dmp-frontend/src/app/ui/auth/login/login.component.scss
+++ b/dmp-frontend/src/app/ui/auth/login/login.component.scss
@@ -1,5 +1,6 @@
.login-screen {
- margin-top: 70px;
+ // margin-top: 70px;
+ padding-top: 80px;
min-height: calc(100vh - 10px);
}
diff --git a/dmp-frontend/src/app/ui/user-profile/user-profile-editor.model.ts b/dmp-frontend/src/app/ui/user-profile/user-profile-editor.model.ts
new file mode 100644
index 000000000..39044b5f4
--- /dev/null
+++ b/dmp-frontend/src/app/ui/user-profile/user-profile-editor.model.ts
@@ -0,0 +1,42 @@
+import { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';
+import { RoleOrganizationType } from '@app/core/common/enum/role-organization-type';
+import { OrganizationModel } from '@app/core/model/organisation/organization';
+import { UserListingModel } from '@app/core/model/user/user-listing';
+const availableLanguages: any[] = require('../../../assets/resources/language.json');
+
+export class UserProfileEditorModel {
+ public id: String;
+ public name: String;
+ public language: any;
+ public culture: any;
+ public timezone: String;
+ public organization: OrganizationModel;
+ public roleOrganization: RoleOrganizationType;
+
+ fromModel(item: UserListingModel): UserProfileEditorModel {
+ this.id = item.id;
+ this.name = item.name;
+ this.language = item.language;
+ this.timezone = item.timezone;
+ this.culture = item.culture;
+ this.organization = item.organization;
+ this.roleOrganization = item.roleOrganization;
+
+ return this;
+ }
+
+ buildForm(): FormGroup {
+ const formGroup = new FormBuilder().group({
+ id: new FormControl(this.id),
+ name: new FormControl(this.name),
+ language: new FormControl(this.language ? availableLanguages.filter(x => x.value === this.language.value).pop() : '', [Validators.required]),
+ timezone: new FormControl(this.timezone, [Validators.required]),
+ culture: new FormControl(this.culture, [Validators.required]),
+ organization: new FormControl(this.organization),
+ roleOrganization: new FormControl(this.roleOrganization),
+ });
+
+ return formGroup;
+ }
+
+}
diff --git a/dmp-frontend/src/app/ui/user-profile/user-profile.component.html b/dmp-frontend/src/app/ui/user-profile/user-profile.component.html
index d0c3eb6ea..e13026849 100644
--- a/dmp-frontend/src/app/ui/user-profile/user-profile.component.html
+++ b/dmp-frontend/src/app/ui/user-profile/user-profile.component.html
@@ -1,4 +1,180 @@
-
+
+
+
+
{{'USER-DIALOG.USER-PROFILE' | translate}}
+
+
+
+
+
+
+ photo_camera
+
+
+
+
{{userProfile.name}}
+
{{'USER-PROFILE.SETTINGS.CONNECTED-WITH' | translate}}: {{userProfile.email}}
+
+
+
+
+
+
+
{{'USER-PROFILE.SETTINGS.NAME' | translate}}
+
+
+
+
+
+
+
+
+
{{'USER-PROFILE.SETTINGS.ORGANIZATION' | translate}}
+
+
+
+
+
+
+
+
+
{{'USER-PROFILE.SETTINGS.ROLE' | translate}}
+
+
+
+
+
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.Faculty)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.Librarian)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.Researcher)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.Student)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.EarlyCareerResearcher)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.ResearchAdministrator)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.RepositoryManager)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.ResearchInfrastructure)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.ServiceProvider)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.Publisher)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.ResearchFunder)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.Policymaker)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.SMEIndustry)}}
+ {{enumUtils.toRoleOrganizationString(roleOrganizationEnum.Other)}}
+
+
+
+
+
+
+
+
+
+
+
{{'USER-PROFILE.SETTINGS.TIMEZONE' | translate}}
+
+
+
+
+
+
+
+ {{ timezone | timezoneInfoDisplay }}
+
+
+
+
+
+
+
+
+
+
+
+
{{'USER-PROFILE.SETTINGS.CULTURE' | translate}}
+
+
+
+
+
+
+
+ {{ culture.displayName }} - {{ culture.nativeName }}
+
+
+
+
+
+
+
+
+
+
+
+
{{'USER-PROFILE.SETTINGS.LANGUAGE' | translate}}
+
+
+
+
+
+
+ {{ language.label | translate }}
+
+
+
+
+
+
+
+
+
+
+
+
{{ 'USER-PROFILE.ZENODO.TITLE' | translate}}
+
+
+
+
+
+ {{'USER-PROFILE.ZENODO.DESCRIPTION' | translate}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dmp-frontend/src/app/ui/user-profile/user-profile.component.scss b/dmp-frontend/src/app/ui/user-profile/user-profile.component.scss
index b96e9d794..0738bacc5 100644
--- a/dmp-frontend/src/app/ui/user-profile/user-profile.component.scss
+++ b/dmp-frontend/src/app/ui/user-profile/user-profile.component.scss
@@ -1,5 +1,12 @@
-.clickable{
- cursor: pointer;
+.profile {
+ height: fit-content;
+ margin-top: 80px;
+ min-height: 100vh;
+ background-color: #ffffff;
+}
+
+.clickable {
+ cursor: pointer;
}
.clickable:hover {
//text-decoration: underline; //Alternative
@@ -13,24 +20,157 @@
// width: 100%
// }
.user-profile {
- .profile-card-center-row {
- justify-content: center;
- }
+ .profile-card-center-row {
+ justify-content: center;
+ }
- .profile-card {
- margin-bottom: 1em;
- }
+ .profile-card {
+ margin-bottom: 1em;
+ }
+
+ .user-profile-title {
+ font-size: 1.25rem;
+ color: #212121;
+ padding-top: 4.1875rem;
+ padding-left: 3.75rem;
+ padding-bottom: 4.0625rem;
+ }
+
+ .profile-content {
+ margin-left: 9rem;
+ margin-right: 11rem;
+
+ .avatar {
+ border-radius: 50%;
+ width: 122px;
+ height: 122px;
+ box-shadow: 0px 3px 6px #00000029;
+ }
+ }
+
+ .camera {
+ position: relative;
+ bottom: 17px;
+
+ .material-icons-two-tone {
+ background-color: #00ffdc;
+ font-size: 34px;
+ width: 34px;
+ height: 34px;
+ -webkit-background-clip: text;
+ }
+ }
+
+ .main-info {
+ margin-bottom: 34px;
+ }
+
+ .name {
+ color: #129d99;
+ font-weight: 500;
+ font-size: 1.25rem;
+ line-height: 3rem;
+ }
+
+ .connected {
+ color: #a8a8a8;
+ }
+
+ .mail {
+ color: #129d99;
+ font-weight: 500;
+ }
+
+ .field-title {
+ color: #212121;
+ opacity: 0.81;
+ font-size: 1.125rem;
+ font-weight: 500;
+ }
}
.settings {
- line-height: 2.4em !important;
+ line-height: 2.4em !important;
}
.zenodo-email {
color: black;
}
+.remove-btn {
+ padding-bottom: 1.34375em;
+}
+
.unlinkBtn {
background-color: FireBrick;
color: white;
}
+
+.save-btn {
+ background: #129d99 0% 0% no-repeat padding-box;
+ border-radius: 30px;
+ opacity: 1;
+ width: auto;
+ min-width: 110px;
+ height: 40px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ font-weight: 700;
+ color: #ffffff;
+ cursor: pointer;
+}
+
+::ng-deep .name-form .mat-form-field-appearance-outline .mat-form-field-outline {
+ background: #fafafa !important;
+}
+
+::ng-deep .name-form .mat-form-field-appearance-outline .mat-form-field-infix {
+ font-size: 1rem;
+ padding: 0.6em 0 1em 0 !important;
+}
+
+::ng-deep .organization-form .mat-form-field-appearance-outline .mat-form-field-outline {
+ background: #fafafa !important;
+}
+
+::ng-deep .organization-form .mat-form-field-appearance-outline .mat-form-field-infix {
+ font-size: 1rem;
+ padding: 0.6em 0 1em 0 !important;
+}
+
+::ng-deep .timezone-form .mat-form-field-appearance-outline .mat-form-field-outline {
+ background: #fafafa !important;
+}
+
+::ng-deep .timezone-form .mat-form-field-appearance-outline .mat-form-field-infix {
+ font-size: 1rem;
+ padding: 0.6em 0 1em 0 !important;
+}
+
+::ng-deep .culture-form .mat-form-field-appearance-outline .mat-form-field-outline {
+ background: #fafafa !important;
+}
+
+::ng-deep .culture-form .mat-form-field-appearance-outline .mat-form-field-infix {
+ font-size: 1rem;
+ padding: 0.6em 0 1em 0 !important;
+}
+
+::ng-deep .language-form .mat-form-field-appearance-outline .mat-form-field-outline {
+ background: #fafafa !important;
+}
+
+::ng-deep .language-form .mat-form-field-appearance-outline .mat-form-field-infix {
+ font-size: 1rem;
+ padding: 0.6em 0 1em 0 !important;
+}
+
+::ng-deep .role-form .mat-form-field-appearance-outline .mat-form-field-outline {
+ background: #fafafa !important;
+}
+
+::ng-deep .role-form .mat-form-field-appearance-outline .mat-form-field-infix {
+ font-size: 1rem;
+ padding: 0.6em 0 1em 0 !important;
+}
diff --git a/dmp-frontend/src/app/ui/user-profile/user-profile.component.ts b/dmp-frontend/src/app/ui/user-profile/user-profile.component.ts
index 3d3bd1af4..534e5c0c3 100644
--- a/dmp-frontend/src/app/ui/user-profile/user-profile.component.ts
+++ b/dmp-frontend/src/app/ui/user-profile/user-profile.component.ts
@@ -16,6 +16,12 @@ import { LanguageService } from '@app/core/services/language/language.service';
import { isNullOrUndefined } from 'util';
import { Oauth2DialogService } from '../misc/oauth2-dialog/service/oauth2-dialog.service';
import { ConfigurationService } from '@app/core/services/configuration/configuration.service';
+import { MultipleAutoCompleteConfiguration } from '@app/library/auto-complete/multiple/multiple-auto-complete-configuration';
+import { ExternalSourceItemModel } from '@app/core/model/external-sources/external-source-item';
+import { ExternalSourcesService } from '@app/core/services/external-sources/external-sources.service';
+import { UserProfileEditorModel } from './user-profile-editor.model';
+import { RoleOrganizationType } from '@app/core/common/enum/role-organization-type';
+import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
const availableLanguages: any[] = require('../../../assets/resources/language.json');
@@ -26,6 +32,7 @@ const availableLanguages: any[] = require('../../../assets/resources/language.js
})
export class UserProfileComponent extends BaseComponent implements OnInit, OnDestroy {
+ userProfileEditorModel: UserProfileEditorModel;
user: Observable
;
currentUserId: string;
cultures: Observable;
@@ -34,6 +41,15 @@ export class UserProfileComponent extends BaseComponent implements OnInit, OnDes
languages = availableLanguages;
zenodoToken: string;
zenodoEmail: String;
+ roleOrganizationEnum = RoleOrganizationType;
+
+ organisationsAutoCompleteConfiguration: MultipleAutoCompleteConfiguration = {
+ filterFn: this.filterOrganisations.bind(this),
+ initialItems: (excludedItems: any[]) => this.filterOrganisations('').pipe(map(result => result.filter(resultItem => (excludedItems || []).map(x => x.id).indexOf(resultItem.id) === -1))),
+ displayFn: (item) => item['name'],
+ titleFn: (item) => item['name'],
+ subtitleFn: (item) => item['tag'] ? this.language.instant('TYPES.EXTERNAL-DATASET-TYPE.SOURCE:') + item['tag'] : (item['key'] ? this.language.instant('TYPES.EXTERNAL-DATASET-TYPE.SOURCE:') + item['key'] : this.language.instant('TYPES.EXTERNAL-DATASET-TYPE.NO-SOURCE'))
+ };
formGroup: FormGroup;
constructor(
@@ -43,10 +59,12 @@ export class UserProfileComponent extends BaseComponent implements OnInit, OnDes
private authService: AuthService,
private language: TranslateService,
private cultureService: CultureService,
+ private externalSourcesService: ExternalSourcesService,
private authentication: AuthService,
private languageService: LanguageService,
private configurationService: ConfigurationService,
- private oauth2DialogService: Oauth2DialogService
+ private oauth2DialogService: Oauth2DialogService,
+ public enumUtils: EnumUtils
) { super(); }
ngOnInit() {
@@ -59,19 +77,24 @@ export class UserProfileComponent extends BaseComponent implements OnInit, OnDes
//result['additionalinfo'] = JSON.parse(result['additionalinfo']);
//this.zenodoToken = result['additionalinfo']['zenodoToken'];
this.zenodoEmail = result['zenodoEmail'];
- this.formGroup = new FormBuilder().group({
- language: new FormControl(result['language'] ? availableLanguages.filter(x => x.value === result['language']['value']).pop() : '', [Validators.required]),
- timezone: new FormControl(result['timezone'], [Validators.required]),
- culture: new FormControl(result['culture'], [Validators.required])
- });
+
+ this.userProfileEditorModel = new UserProfileEditorModel().fromModel(result);
+ this.formGroup = this.userProfileEditorModel.buildForm();
+ // this.formGroup = new FormBuilder().group({
+ // language: new FormControl(result['language'] ? availableLanguages.filter(x => x.value === result['language']['value']).pop() : '', [Validators.required]),
+ // timezone: new FormControl(result['timezone'], [Validators.required]),
+ // culture: new FormControl(result['culture'], [Validators.required])
+ // });
+
//this.formGroup.get('language').valueChanges.pipe(takeUntil(this._destroyed)).subscribe(x => { if (x) this.translate.use(x.value) })
this.formGroup.get('timezone').valueChanges
- .pipe(takeUntil(this._destroyed))
- .subscribe(x => { if (x) { this.timezones = this._filterTimezone(x); } });
+ .pipe(takeUntil(this._destroyed))
+ .subscribe(x => { if (x) { this.timezones = this._filterTimezone(x); } });
this.formGroup.get('culture').valueChanges
- .pipe(takeUntil(this._destroyed))
- .subscribe(x => { if (x) { this.cultures = this._filterCulture(x); } });
- this.formGroup.disable();
+ .pipe(takeUntil(this._destroyed))
+ .subscribe(x => { if (x) { this.cultures = this._filterCulture(x); } });
+ // this.initializeDisabledFormGroup();
+ this.unlock();
return result;
}));
});
@@ -101,6 +124,10 @@ export class UserProfileComponent extends BaseComponent implements OnInit, OnDes
this.router.navigate(['/plans/edit/' + dmp.id]);
}
+ private filterOrganisations(value: string): Observable {
+ return this.externalSourcesService.searchDMPOrganizations(value);
+ }
+
private _filterTimezone(value: string): Observable {
if (value && typeof value === 'string') {
const filterValue = value.toLowerCase();
@@ -124,7 +151,22 @@ export class UserProfileComponent extends BaseComponent implements OnInit, OnDes
}
save() {
-
+ if (!this.formGroup.valid) { return; }
+ this.userService.updateUserSettings(this.formGroup.value)
+ .pipe(takeUntil(this._destroyed))
+ .subscribe(
+ x => {
+ this.editMode = false;
+ this.languageService.changeLanguage(this.formGroup.value.language.value);
+ this.authService.current().culture = this.formGroup.value.culture.name;
+ this.authService.me()
+ .pipe(takeUntil(this._destroyed))
+ .subscribe(result => this.router.navigate(['/profile']));
+ // .subscribe(result => window.location.reload());
+ },
+ error => {
+ console.log(error);
+ });
}
public unlock() {
@@ -132,6 +174,10 @@ export class UserProfileComponent extends BaseComponent implements OnInit, OnDes
this.formGroup.enable();
}
+ public initializeDisabledFormGroup() {
+ this.formGroup.disable();
+ }
+
public lock() {
if (!this.formGroup.valid) { return; }
this.userService.updateUserSettings(this.formGroup.value)
diff --git a/dmp-frontend/src/app/ui/user-profile/user-profile.module.ts b/dmp-frontend/src/app/ui/user-profile/user-profile.module.ts
index 29f166199..0c28ce678 100644
--- a/dmp-frontend/src/app/ui/user-profile/user-profile.module.ts
+++ b/dmp-frontend/src/app/ui/user-profile/user-profile.module.ts
@@ -1,5 +1,6 @@
import { NgModule } from '@angular/core';
import { FormattingModule } from '@app/core/formatting.module';
+import { AutoCompleteModule } from '@app/library/auto-complete/auto-complete.module';
import { CommonFormsModule } from '@common/forms/common-forms.module';
import { CommonUiModule } from '@common/ui/common-ui.module';
import { UserProfileComponent } from './user-profile.component';
@@ -10,10 +11,11 @@ import { UserProfileRoutingModule } from './user-profile.routing';
CommonUiModule,
CommonFormsModule,
FormattingModule,
- UserProfileRoutingModule
+ UserProfileRoutingModule,
+ AutoCompleteModule
],
declarations: [
UserProfileComponent
]
})
-export class UserProfileModule { }
\ No newline at end of file
+export class UserProfileModule { }
diff --git a/dmp-frontend/src/assets/i18n/de.json b/dmp-frontend/src/assets/i18n/de.json
index 480e86136..4e2d86d79 100644
--- a/dmp-frontend/src/assets/i18n/de.json
+++ b/dmp-frontend/src/assets/i18n/de.json
@@ -1361,7 +1361,12 @@
"TITLE": "Einstellungen",
"TIMEZONE": "Zeitzone",
"CULTURE": "Kultur",
- "LANGUAGE": "Sprache"
+ "LANGUAGE": "Sprache",
+ "CONNECTED-WITH": "Connected with",
+ "NAME": "Name",
+ "ORGANIZATION": "Organization",
+ "ROLE": "Rolle",
+ "SELECT-ROLE": "Select Role"
},
"ASSOCIATED-DMPS": "Zugehörige DMPs",
"DMPS": {
@@ -1374,6 +1379,25 @@
"LOGOUT": "Remove Zenodo",
"TITLE": "Zenodo Account",
"DESCRIPTION": "Linked Zenodo Account:"
+ },
+ "ROLE-ORGANIZATION": {
+ "FACULTY": "Faculty",
+ "LIBRARIAN": "Librarian",
+ "RESEARCHER": "Researcher",
+ "STUDENT": "Student (BA/BSc, MSc)",
+ "EARLY-CAREER-RESEARCHER": "Early Career Researcher (PhD candidate, post-graduate)",
+ "RESEARCH-ADMINISTRATOR": "Research Administrator",
+ "REPOSITORY-MANAGER": "Repository Manager",
+ "RESEARCH-INFRASTRUCTURE": "Research Infrastructure",
+ "SERVICE-PROVIDER": "Service Provider",
+ "PUBLISHER": "Publisher",
+ "RESEARCH-FUNDER": "Research Funder",
+ "POLICY-MAKER": "Policymaker",
+ "SME-INDUSTRY": "SME/ Industry",
+ "OTHER": "Other"
+ },
+ "ACTIONS": {
+ "SAVE": "Save"
}
},
"DATASET-REFERENCED-MODELS": {
diff --git a/dmp-frontend/src/assets/i18n/en.json b/dmp-frontend/src/assets/i18n/en.json
index 8cad2a9ca..aac636def 100644
--- a/dmp-frontend/src/assets/i18n/en.json
+++ b/dmp-frontend/src/assets/i18n/en.json
@@ -1361,7 +1361,12 @@
"TITLE": "Settings",
"TIMEZONE": "Time Zone",
"CULTURE": "Culture",
- "LANGUAGE": "Language"
+ "LANGUAGE": "Language",
+ "CONNECTED-WITH": "Connected with",
+ "NAME": "Name",
+ "ORGANIZATION": "Organization",
+ "ROLE": "Role",
+ "SELECT-ROLE": "Select Role"
},
"ASSOCIATED-DMPS": "Associated DMPs",
"DMPS": {
@@ -1374,6 +1379,25 @@
"LOGOUT": "Remove Zenodo",
"TITLE": "Zenodo Account",
"DESCRIPTION": "Linked Zenodo Account:"
+ },
+ "ROLE-ORGANIZATION": {
+ "FACULTY": "Faculty",
+ "LIBRARIAN": "Librarian",
+ "RESEARCHER": "Researcher",
+ "STUDENT": "Student (BA/BSc, MSc)",
+ "EARLY-CAREER-RESEARCHER": "Early Career Researcher (PhD candidate, post-graduate)",
+ "RESEARCH-ADMINISTRATOR": "Research Administrator",
+ "REPOSITORY-MANAGER": "Repository Manager",
+ "RESEARCH-INFRASTRUCTURE": "Research Infrastructure",
+ "SERVICE-PROVIDER": "Service Provider",
+ "PUBLISHER": "Publisher",
+ "RESEARCH-FUNDER": "Research Funder",
+ "POLICY-MAKER": "Policymaker",
+ "SME-INDUSTRY": "SME/ Industry",
+ "OTHER": "Other"
+ },
+ "ACTIONS": {
+ "SAVE": "Save"
}
},
"DATASET-REFERENCED-MODELS": {
diff --git a/dmp-frontend/src/assets/i18n/es.json b/dmp-frontend/src/assets/i18n/es.json
index e3f893807..aa7e368ff 100644
--- a/dmp-frontend/src/assets/i18n/es.json
+++ b/dmp-frontend/src/assets/i18n/es.json
@@ -1361,7 +1361,12 @@
"TITLE": "Configuración",
"TIMEZONE": "Zona horaria",
"CULTURE": "Cultura",
- "LANGUAGE": "Idioma"
+ "LANGUAGE": "Idioma",
+ "CONNECTED-WITH": "Connected with",
+ "NAME": "Name",
+ "ORGANIZATION": "Organization",
+ "ROLE": "Role",
+ "SELECT-ROLE": "Select Role"
},
"ASSOCIATED-DMPS": "PGDs asociados",
"DMPS": {
@@ -1374,6 +1379,25 @@
"LOGOUT": "Eliminar Zenodo",
"TITLE": "Cuenta en Zenodo",
"DESCRIPTION": "Enlazar una cuenta en Zenodo:"
+ },
+ "ROLE-ORGANIZATION": {
+ "FACULTY": "Faculty",
+ "LIBRARIAN": "Librarian",
+ "RESEARCHER": "Researcher",
+ "STUDENT": "Student (BA/BSc, MSc)",
+ "EARLY-CAREER-RESEARCHER": "Early Career Researcher (PhD candidate, post-graduate)",
+ "RESEARCH-ADMINISTRATOR": "Research Administrator",
+ "REPOSITORY-MANAGER": "Repository Manager",
+ "RESEARCH-INFRASTRUCTURE": "Research Infrastructure",
+ "SERVICE-PROVIDER": "Service Provider",
+ "PUBLISHER": "Publisher",
+ "RESEARCH-FUNDER": "Research Funder",
+ "POLICY-MAKER": "Policymaker",
+ "SME-INDUSTRY": "SME/ Industry",
+ "OTHER": "Other"
+ },
+ "ACTIONS": {
+ "SAVE": "Save"
}
},
"DATASET-REFERENCED-MODELS": {
diff --git a/dmp-frontend/src/assets/i18n/gr.json b/dmp-frontend/src/assets/i18n/gr.json
index 01db4219d..406c02879 100644
--- a/dmp-frontend/src/assets/i18n/gr.json
+++ b/dmp-frontend/src/assets/i18n/gr.json
@@ -1032,7 +1032,7 @@
},
"HINT": {
"TITLE": "Μία σύντομη περιγραφή του τι",
- "TITLE-REST": "αφορά, το πεδίο εφαρμογής του και τους στόχους του."
+ "TITLE-REST": "αφορά, το πεδίο εφαρμογής του και τους στόχους του."
},
"VERSION-DIALOG": {
"ABOUT": "Η δημιουργία νέας έκδοσης συμβαίνει αυτόματα",
@@ -1361,7 +1361,12 @@
"TITLE": "Ρυθμίσεις",
"TIMEZONE": "Ζώνη Ώρας",
"CULTURE": "Κουλτούρα",
- "LANGUAGE": "Γλώσσα"
+ "LANGUAGE": "Γλώσσα",
+ "CONNECTED-WITH": "Connected with",
+ "NAME": "Name",
+ "ORGANIZATION": "Organization",
+ "ROLE": "Ρόλος",
+ "SELECT-ROLE": "Select Role"
},
"ASSOCIATED-DMPS": "Συσχετιζόμενα Σχέδια Διαχείρισης Δεδομένων",
"DMPS": {
@@ -1374,6 +1379,25 @@
"LOGOUT": "Αφαίρεση Zenodo",
"TITLE": "Λογαριασμός Zenodo",
"DESCRIPTION": "Συνδεδεμένος Λογαριασμός Zenodo:"
+ },
+ "ROLE-ORGANIZATION": {
+ "FACULTY": "Faculty",
+ "LIBRARIAN": "Librarian",
+ "RESEARCHER": "Researcher",
+ "STUDENT": "Student (BA/BSc, MSc)",
+ "EARLY-CAREER-RESEARCHER": "Early Career Researcher (PhD candidate, post-graduate)",
+ "RESEARCH-ADMINISTRATOR": "Research Administrator",
+ "REPOSITORY-MANAGER": "Repository Manager",
+ "RESEARCH-INFRASTRUCTURE": "Research Infrastructure",
+ "SERVICE-PROVIDER": "Service Provider",
+ "PUBLISHER": "Publisher",
+ "RESEARCH-FUNDER": "Research Funder",
+ "POLICY-MAKER": "Policymaker",
+ "SME-INDUSTRY": "SME/ Industry",
+ "OTHER": "Other"
+ },
+ "ACTIONS": {
+ "SAVE": "Save"
}
},
"DATASET-REFERENCED-MODELS": {
diff --git a/dmp-frontend/src/assets/i18n/sk.json b/dmp-frontend/src/assets/i18n/sk.json
index 1493a0bd6..f79590458 100644
--- a/dmp-frontend/src/assets/i18n/sk.json
+++ b/dmp-frontend/src/assets/i18n/sk.json
@@ -1361,7 +1361,12 @@
"TITLE": "Nastavenia",
"TIMEZONE": "Časové pásmo",
"CULTURE": "Kultúra",
- "LANGUAGE": "Jazyk"
+ "LANGUAGE": "Jazyk",
+ "CONNECTED-WITH": "Connected with",
+ "NAME": "Name",
+ "ORGANIZATION": "Organization",
+ "ROLE": "Rola",
+ "SELECT-ROLE": "Select Role"
},
"ASSOCIATED-DMPS": "Pridružené DMP",
"DMPS": {
@@ -1374,6 +1379,25 @@
"LOGOUT": "odstrániť Zenodo",
"TITLE": "Zenodo účet",
"DESCRIPTION": "Prepojený Zenodo účet :"
+ },
+ "ROLE-ORGANIZATION": {
+ "FACULTY": "Faculty",
+ "LIBRARIAN": "Librarian",
+ "RESEARCHER": "Researcher",
+ "STUDENT": "Student (BA/BSc, MSc)",
+ "EARLY-CAREER-RESEARCHER": "Early Career Researcher (PhD candidate, post-graduate)",
+ "RESEARCH-ADMINISTRATOR": "Research Administrator",
+ "REPOSITORY-MANAGER": "Repository Manager",
+ "RESEARCH-INFRASTRUCTURE": "Research Infrastructure",
+ "SERVICE-PROVIDER": "Service Provider",
+ "PUBLISHER": "Publisher",
+ "RESEARCH-FUNDER": "Research Funder",
+ "POLICY-MAKER": "Policymaker",
+ "SME-INDUSTRY": "SME/ Industry",
+ "OTHER": "Other"
+ },
+ "ACTIONS": {
+ "SAVE": "Save"
}
},
"DATASET-REFERENCED-MODELS": {
@@ -1536,4 +1560,4 @@
"DRAFT": "Návrh",
"FINALIZED": "Dokončené"
}
-}
\ No newline at end of file
+}
diff --git a/dmp-frontend/src/assets/i18n/tr.json b/dmp-frontend/src/assets/i18n/tr.json
index d59057e66..9d4065d5f 100644
--- a/dmp-frontend/src/assets/i18n/tr.json
+++ b/dmp-frontend/src/assets/i18n/tr.json
@@ -1361,7 +1361,12 @@
"TITLE": "Ayarlar",
"TIMEZONE": "Zaman Dilimi",
"CULTURE": "Kültür",
- "LANGUAGE": "Dil"
+ "LANGUAGE": "Dil",
+ "CONNECTED-WITH": "Connected with",
+ "NAME": "Name",
+ "ORGANIZATION": "Organization",
+ "ROLE": "Görev",
+ "SELECT-ROLE": "Select Role"
},
"ASSOCIATED-DMPS": "İlişkili VYP'ları",
"DMPS": {
@@ -1374,6 +1379,25 @@
"LOGOUT": "Zenodo'yu Kaldır",
"TITLE": "Zenodo Hesabı",
"DESCRIPTION": "Bağlantılı Zenodo Hesabı:"
+ },
+ "ROLE-ORGANIZATION": {
+ "FACULTY": "Faculty",
+ "LIBRARIAN": "Librarian",
+ "RESEARCHER": "Researcher",
+ "STUDENT": "Student (BA/BSc, MSc)",
+ "EARLY-CAREER-RESEARCHER": "Early Career Researcher (PhD candidate, post-graduate)",
+ "RESEARCH-ADMINISTRATOR": "Research Administrator",
+ "REPOSITORY-MANAGER": "Repository Manager",
+ "RESEARCH-INFRASTRUCTURE": "Research Infrastructure",
+ "SERVICE-PROVIDER": "Service Provider",
+ "PUBLISHER": "Publisher",
+ "RESEARCH-FUNDER": "Research Funder",
+ "POLICY-MAKER": "Policymaker",
+ "SME-INDUSTRY": "SME/ Industry",
+ "OTHER": "Other"
+ },
+ "ACTIONS": {
+ "SAVE": "Save"
}
},
"DATASET-REFERENCED-MODELS": {
@@ -1536,4 +1560,4 @@
"DRAFT": "Taslak",
"FINALIZED": "Tamamlandı"
}
-}
\ No newline at end of file
+}
diff --git a/dmp-frontend/src/common/modules/sign-in-dialog/sign-in-dialog.component.scss b/dmp-frontend/src/common/modules/sign-in-dialog/sign-in-dialog.component.scss
index b05e7b839..21e8dd73b 100644
--- a/dmp-frontend/src/common/modules/sign-in-dialog/sign-in-dialog.component.scss
+++ b/dmp-frontend/src/common/modules/sign-in-dialog/sign-in-dialog.component.scss
@@ -1,5 +1,6 @@
.login-screen {
- margin-top: 70px;
+ padding-top: 80px;
+ // margin-top: 70px;
min-height: calc(100vh - 10px);
}
diff --git a/dmp-frontend/src/index.html b/dmp-frontend/src/index.html
index 7475f1450..601058d3a 100644
--- a/dmp-frontend/src/index.html
+++ b/dmp-frontend/src/index.html
@@ -16,7 +16,7 @@
-
+
diff --git a/dmp-frontend/src/styles.scss b/dmp-frontend/src/styles.scss
index 660fa6e4a..78ca91958 100644
--- a/dmp-frontend/src/styles.scss
+++ b/dmp-frontend/src/styles.scss
@@ -165,7 +165,7 @@
.main-content {
background-color: #f5f5f5;
- padding-top: 4.68rem;
+ padding-top: 5rem;
padding-bottom: 3rem;
// padding-left: 3.31rem;
padding-left: 1rem;