package com.constellio.app.modules.es.ui.pages;
import com.constellio.app.modules.es.navigation.ESViews;
import com.constellio.app.modules.es.services.ESSchemasRecordsServices;
import com.constellio.app.ui.entities.RecordVO;
import com.constellio.app.ui.framework.builders.RecordToVOBuilder;
import com.constellio.app.ui.pages.base.SingleSchemaBasePresenter;
import com.constellio.model.entities.CorePermissions;
import com.constellio.model.entities.records.wrappers.User;
import com.constellio.model.services.records.RecordServices;
import com.constellio.model.services.users.UserServices;
public abstract class AddEditConnectorInstancePresenter extends SingleSchemaBasePresenter<AddEditConnectorInstanceView> {
protected String connectorTypeId;
protected RecordToVOBuilder voBuilder = new RecordToVOBuilder();
protected RecordVO recordVO;
protected String currentSchemaCode;
protected transient ESSchemasRecordsServices esSchemasRecordsServices;
protected transient UserServices userServices;
protected transient RecordServices recordServices;
public AddEditConnectorInstancePresenter(AddEditConnectorInstanceView view) {
super(view);
init();
}
public void init() {
esSchemasRecordsServices = new ESSchemasRecordsServices(collection, appLayerFactory);
userServices = modelLayerFactory.newUserServices();
recordServices = modelLayerFactory.newRecordServices();
}
public void forParams(String params) {
}
@Override
protected boolean hasPageAccess(String params, User user) {
return userServices.has(user).globalPermissionInAnyCollection(CorePermissions.MANAGE_CONNECTORS);
}
public void backButtonClicked() {
view.navigate().to(ESViews.class).listConnectorInstances();
}
public void cancelButtonClicked() {
view.navigate().to(ESViews.class).listConnectorInstances();
}
public abstract void saveButtonClicked(RecordVO recordVO);
public void setConnectorTypeId(String connectorTypeId) {
this.connectorTypeId = connectorTypeId;
}
public void setRecordVO(RecordVO recordVO) {
this.recordVO = recordVO;
}
public void setCurrentSchemaCode(String currentSchemaCode) {
this.currentSchemaCode = currentSchemaCode;
}
public abstract String getTitle();
}