no message
This commit is contained in:
parent
00a1f80f01
commit
c6e2e8aec4
|
@ -2,6 +2,7 @@ package eu.eudat.controllers;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Locale;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import eu.eudat.entities.DMP;
|
import eu.eudat.entities.DMP;
|
||||||
|
@ -40,7 +41,8 @@ public class Datasets extends BaseController {
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping(method = RequestMethod.POST, value = {"/datasets/getPaged"}, consumes = "application/json", produces = "application/json")
|
@RequestMapping(method = RequestMethod.POST, value = {"/datasets/getPaged"}, consumes = "application/json", produces = "application/json")
|
||||||
public @ResponseBody ResponseEntity<ResponseItem<DataTableData<DatasetListingModel>>> getPaged(@RequestBody DatasetTableRequest datasetTableRequest, Principal principal) {
|
public @ResponseBody
|
||||||
|
ResponseEntity<ResponseItem<DataTableData<DatasetListingModel>>> getPaged(@RequestBody DatasetTableRequest datasetTableRequest, Principal principal) {
|
||||||
try {
|
try {
|
||||||
DataTableData<DatasetListingModel> dataTable = new DatasetManager().getPaged(this.getApiContext(), datasetTableRequest, principal);
|
DataTableData<DatasetListingModel> dataTable = new DatasetManager().getPaged(this.getApiContext(), datasetTableRequest, principal);
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<DataTableData<DatasetListingModel>>().status(ApiMessageCode.NO_MESSAGE).payload(dataTable));
|
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<DataTableData<DatasetListingModel>>().status(ApiMessageCode.NO_MESSAGE).payload(dataTable));
|
||||||
|
@ -53,10 +55,11 @@ public class Datasets extends BaseController {
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
@RequestMapping(method = RequestMethod.GET, value = {"/datasets/makepublic/{id}"}, produces = "application/json")
|
@RequestMapping(method = RequestMethod.GET, value = {"/datasets/makepublic/{id}"}, produces = "application/json")
|
||||||
public @ResponseBody ResponseEntity<ResponseItem<Dataset>> makePublic(@PathVariable UUID id, Principal principal) {
|
public @ResponseBody
|
||||||
|
ResponseEntity<ResponseItem<Dataset>> makePublic(@PathVariable UUID id, Principal principal, Locale locale) {
|
||||||
try {
|
try {
|
||||||
DatasetManager.makePublic(this.getApiContext().getDatabaseRepository().getDatasetDao(), id);
|
DatasetManager.makePublic(this.getApiContext().getDatabaseRepository().getDatasetDao(), id);
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<Dataset>().status(ApiMessageCode.SUCCESS_MESSAGE).message("Dataset Has Been Made Public"));
|
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<Dataset>().status(ApiMessageCode.SUCCESS_MESSAGE).message(this.getApiContext().getMessageSource().getMessage("dataset.public", new Object[]{}, locale)));
|
||||||
|
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
|
|
|
@ -2,6 +2,7 @@ package eu.eudat.services;
|
||||||
|
|
||||||
import eu.eudat.proxy.fetching.RemoteFetcher;
|
import eu.eudat.proxy.fetching.RemoteFetcher;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by ikalyvas on 1/3/2018.
|
* Created by ikalyvas on 1/3/2018.
|
||||||
|
@ -12,4 +13,5 @@ public interface ApiContext {
|
||||||
InvitationService getInvitationService();
|
InvitationService getInvitationService();
|
||||||
RemoteFetcher getRemoteFetcher();
|
RemoteFetcher getRemoteFetcher();
|
||||||
MailService getMailService();
|
MailService getMailService();
|
||||||
|
MessageSource getMessageSource();
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package eu.eudat.services;
|
||||||
import eu.eudat.proxy.fetching.RemoteFetcher;
|
import eu.eudat.proxy.fetching.RemoteFetcher;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
|
import org.springframework.context.MessageSource;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -16,6 +17,7 @@ public class ApiContextImpl implements ApiContext{
|
||||||
private RemoteFetcher remoteFetcher;
|
private RemoteFetcher remoteFetcher;
|
||||||
private InvitationService invitationService;
|
private InvitationService invitationService;
|
||||||
private MailService mailService;
|
private MailService mailService;
|
||||||
|
private MessageSource messageSource;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
public void setDatabaseRepository(DatabaseRepository databaseRepository) {
|
public void setDatabaseRepository(DatabaseRepository databaseRepository) {
|
||||||
|
@ -67,4 +69,13 @@ public class ApiContextImpl implements ApiContext{
|
||||||
this.mailService = mailService;
|
this.mailService = mailService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public MessageSource getMessageSource() {
|
||||||
|
return messageSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
public void setMessageSource(MessageSource messageSource) {
|
||||||
|
this.messageSource = messageSource;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,4 +4,5 @@ projectTableRequest.periodStart.overlapping = Period Start cannot overlap Period
|
||||||
projectTableRequest.offset.negative=table offset cannot be negative
|
projectTableRequest.offset.negative=table offset cannot be negative
|
||||||
projectTableRequest.length.negative=table length cannot be negative
|
projectTableRequest.length.negative=table length cannot be negative
|
||||||
datasetprofile.label.null = Dataset Profile Label cannot be null
|
datasetprofile.label.null = Dataset Profile Label cannot be null
|
||||||
project.startDate.overlapping = Period Start cannot overlap Period End
|
project.startDate.overlapping = Period Start cannot overlap Period
|
||||||
|
dataset.public = Dataset Has Been Made Public
|
|
@ -1,2 +1,8 @@
|
||||||
datamanagementplanrequest.length.negative=Το πληθος των σειρων στο table δεν μπορει να ειναι αρνητικο
|
datamanagementplanrequest.length.negative= Το μέγεθος του table δεν μπορει να ειναι αρνητικο
|
||||||
datamanagementplanrequest.offset.negative=Το offset των τιμων δεν μπορει να ειναι αρνητικο
|
datamanagementplanrequest.offset.negative= Το offset του table δεν μπορει να ειναι αρνητικο
|
||||||
|
projectTableRequest.periodStart.overlapping = Η Αρχικη Περιοδος δεν μπορει να ειναι Μεγαλυτερη της τελικης
|
||||||
|
projectTableRequest.offset.negative= Το offset του table δεν μπορει να ειναι αρνητικο
|
||||||
|
projectTableRequest.length.negative= Το μέγεθος του table δεν μπορει να ειναι αρνητικο
|
||||||
|
datasetprofile.label.null = Το ονομα του ορισμου ενος Dataset δεν μπορει να ειναι κενο
|
||||||
|
project.startDate.overlapping = Η Αρχικη Περιοδος δεν μπορει να ειναι Μεγαλυτερη της τελικης
|
||||||
|
dataset.public = Το Dataset δημοσιοποιηθηκε σε ολους
|
|
@ -19,7 +19,7 @@ import { RuleStyle } from '../../entities/common/rulestyle';
|
||||||
encapsulation: ViewEncapsulation.None
|
encapsulation: ViewEncapsulation.None
|
||||||
})
|
})
|
||||||
|
|
||||||
export class DynamicFormFieldComponent {
|
export class DynamicFormFieldComponent implements OnInit{
|
||||||
@Input() field: Field;
|
@Input() field: Field;
|
||||||
@Input() form: FormGroup;
|
@Input() form: FormGroup;
|
||||||
@Input() pathName:string;
|
@Input() pathName:string;
|
||||||
|
@ -27,6 +27,11 @@ export class DynamicFormFieldComponent {
|
||||||
|
|
||||||
constructor(private route: ActivatedRoute,private visibilityRulesService:VisibilityRulesService) { }
|
constructor(private route: ActivatedRoute,private visibilityRulesService:VisibilityRulesService) { }
|
||||||
|
|
||||||
|
ngOnInit(){
|
||||||
|
this.form.get('value').valueChanges.subscribe(item => {
|
||||||
|
this.visibilityRulesService.updateValueAndVisibility(this.field.id)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
ngOnChanges(changeRecord) {
|
ngOnChanges(changeRecord) {
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ export class InvitationComponent implements OnInit {
|
||||||
|
|
||||||
send(value: any) {
|
send(value: any) {
|
||||||
this.invitationService.inviteUsers(this.formGroup.value).subscribe(
|
this.invitationService.inviteUsers(this.formGroup.value).subscribe(
|
||||||
null,null,()=>this.dialogRef.close()
|
null, null, () => this.dialogRef.close()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import { VisibilityRuleSource } from './VisibilityRuleSource';
|
import { VisibilityRuleSource } from './VisibilityRuleSource';
|
||||||
export class VisibilityRule{
|
export class VisibilityRule {
|
||||||
public targetControlId:string;
|
public targetControlId: string;
|
||||||
public sourceVisibilityRules:Array<VisibilityRuleSource>
|
public sourceVisibilityRules: Array<VisibilityRuleSource>
|
||||||
}
|
}
|
|
@ -9,33 +9,43 @@ export class VisibilityRulesService {
|
||||||
public formGroup: FormGroup;
|
public formGroup: FormGroup;
|
||||||
public visibilityRuleContext: VisibilityRulesContext;
|
public visibilityRuleContext: VisibilityRulesContext;
|
||||||
public fieldsPathMemory: any = {};
|
public fieldsPathMemory: any = {};
|
||||||
|
private elementVisibilityMap = new Map<String, boolean>();
|
||||||
|
|
||||||
public isElementVisible(pathKey: string, id: string) {
|
public isElementVisible(pathKey: string, id: string) {
|
||||||
if (!this.fieldsPathMemory[id] && pathKey) this.fieldsPathMemory[id] = pathKey;
|
if (!this.fieldsPathMemory[id] && pathKey) this.fieldsPathMemory[id] = pathKey;
|
||||||
let visibilityRule = this.visibilityRuleContext.getRulesFromKey(id);
|
if (this.checkElementVisibility(id)) {
|
||||||
if (!visibilityRule) return true;
|
|
||||||
if (this.checkElementVisibility(visibilityRule)) {
|
|
||||||
return true
|
return true
|
||||||
} else {
|
} else {
|
||||||
this.clearValues(pathKey)
|
this.clearValues(pathKey)
|
||||||
// if (pathKey && this.formGroup.get(pathKey + '.value')) this.formGroup.get(pathKey + '.value').patchValue(null)
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public checkElementVisibility(visibilityRule: VisibilityRule): boolean {
|
public checkElementVisibility(id: string): boolean {
|
||||||
let sourceVisibilityRules = visibilityRule.sourceVisibilityRules;
|
if (!this.elementVisibilityMap.has(id) || this.elementVisibilityMap.get(id)) return true;
|
||||||
for (let i = 0; i < sourceVisibilityRules.length; i++) {
|
else return false;
|
||||||
let sourceVisibilityRule = sourceVisibilityRules[i];
|
|
||||||
if (!this.formGroup.get(this.fieldsPathMemory[sourceVisibilityRule.sourceControlId] + '.value')) return false; //TODO
|
|
||||||
if (sourceVisibilityRule.sourceControlValue != '' + this.formGroup.get(this.fieldsPathMemory[sourceVisibilityRule.sourceControlId] + '.value').value) return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public buildVisibilityRules(item: Array<Rule>) {
|
public buildVisibilityRules(item: Array<Rule>) {
|
||||||
this.visibilityRuleContext = new VisibilityRulesContext();
|
this.visibilityRuleContext = new VisibilityRulesContext();
|
||||||
this.visibilityRuleContext.buildVisibilityRuleContext(item);
|
this.visibilityRuleContext.buildVisibilityRuleContext(item);
|
||||||
|
this.visibilityRuleContext.rules.forEach(item => this.evaluateVisibility(item))
|
||||||
|
}
|
||||||
|
|
||||||
|
public updateValueAndVisibility(id: string) {
|
||||||
|
let visibilityRules = this.visibilityRuleContext.rules.filter(item => item.sourceVisibilityRules.filter(source => source.sourceControlId === id).length > 0);
|
||||||
|
visibilityRules.forEach(item => this.evaluateVisibility(item))
|
||||||
|
}
|
||||||
|
|
||||||
|
private evaluateVisibility(visibilityRule: VisibilityRule) {
|
||||||
|
for (let i = 0; i < visibilityRule.sourceVisibilityRules.length; i++) {
|
||||||
|
let pathKey = this.fieldsPathMemory[visibilityRule.sourceVisibilityRules[i].sourceControlId];
|
||||||
|
if (this.formGroup.get(pathKey + '.value') && this.formGroup.get(pathKey + '.value').value != '' + visibilityRule.sourceVisibilityRules[i].sourceControlValue) {
|
||||||
|
this.elementVisibilityMap.set(visibilityRule.targetControlId, false)
|
||||||
|
} else {
|
||||||
|
this.elementVisibilityMap.set(visibilityRule.targetControlId, true)
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private getParentPath(parentId: string): string {
|
private getParentPath(parentId: string): string {
|
||||||
|
@ -44,9 +54,9 @@ export class VisibilityRulesService {
|
||||||
|
|
||||||
private clearValues(pathKey) {
|
private clearValues(pathKey) {
|
||||||
if (pathKey && this.formGroup.get(pathKey + '.value')) this.formGroup.get(pathKey + '.value').patchValue(null)
|
if (pathKey && this.formGroup.get(pathKey + '.value')) this.formGroup.get(pathKey + '.value').patchValue(null)
|
||||||
if (pathKey && this.formGroup.get(pathKey)["controls"].fields){
|
if (pathKey && this.formGroup.get(pathKey)["controls"].fields) {
|
||||||
for (var i = 0; i < this.formGroup.get(pathKey)["controls"].fields.length; i++)
|
for (var i = 0; i < this.formGroup.get(pathKey)["controls"].fields.length; i++)
|
||||||
this.clearValues(pathKey+'.fields.'+i);
|
this.clearValues(pathKey + '.fields.' + i);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue