Skip to content
Snippets Groups Projects
Commit 13539f39 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

request an account link is visible in info tab

parent 6fcabdf1
No related branches found
No related tags found
1 merge request!110uploading of big data overlay gives proper error message
<component name="ProjectDictionaryState">
<dictionary name="piotr.gawron">
<words>
<w>mailto</w>
</words>
</dictionary>
</component>
\ No newline at end of file
...@@ -21,8 +21,8 @@ function ProjectInfoPanel(params) { ...@@ -21,8 +21,8 @@ function ProjectInfoPanel(params) {
self._createUserDataTab(); self._createUserDataTab();
var logoutButton = self.getControlElement(PanelControlElementType.USER_TAB_LOGOUT_BUTTON); var logoutButton = self.getControlElement(PanelControlElementType.USER_TAB_LOGOUT_BUTTON);
logoutButton.onclick = function() { logoutButton.onclick = function () {
return ServerConnector.logout().then(function() { return ServerConnector.logout().then(function () {
window.location.reload(false); window.location.reload(false);
}).then(null, GuiConnector.alert); }).then(null, GuiConnector.alert);
}; };
...@@ -32,191 +32,191 @@ function ProjectInfoPanel(params) { ...@@ -32,191 +32,191 @@ function ProjectInfoPanel(params) {
ProjectInfoPanel.prototype = Object.create(Panel.prototype); ProjectInfoPanel.prototype = Object.create(Panel.prototype);
ProjectInfoPanel.prototype.constructor = ProjectInfoPanel; ProjectInfoPanel.prototype.constructor = ProjectInfoPanel;
ProjectInfoPanel.prototype._createInfoPanelGui = function() { ProjectInfoPanel.prototype._createInfoPanelGui = function () {
var self = this; var self = this;
var guiUtils = self.getGuiUtils(); var guiUtils = self.getGuiUtils();
var projectId = self.getMap().getProject().getProjectId(); var projectId = self.getMap().getProject().getProjectId();
var infoDiv = Functions.createElement({ var infoDiv = Functions.createElement({
type : "div", type: "div",
name : "infoDiv", name: "infoDiv",
className : "searchPanel" className: "searchPanel"
}); });
this.getElement().appendChild(infoDiv); this.getElement().appendChild(infoDiv);
this.setControlElement(PanelControlElementType.INFO_DIV, infoDiv); this.setControlElement(PanelControlElementType.INFO_DIV, infoDiv);
var infoTitle = Functions.createElement({ var infoTitle = Functions.createElement({
type : "h4", type: "h4",
content : "PROJECT INFO:" content: "PROJECT INFO:"
}); });
infoDiv.appendChild(infoTitle); infoDiv.appendChild(infoTitle);
var dataTab = Functions.createElement({ var dataTab = Functions.createElement({
type : "div", type: "div",
style : "width:100%;display: table;border-spacing: 10px;" style: "width:100%;display: table;border-spacing: 10px;"
}); });
infoDiv.appendChild(dataTab); infoDiv.appendChild(dataTab);
var projectNameLabel = Functions.createElement({ var projectNameLabel = Functions.createElement({
type : "div", type: "div",
content : "Name:" content: "Name:"
}); });
var projectNameText = Functions.createElement({ var projectNameText = Functions.createElement({
type : "div", type: "div",
style : "width:100%", style: "width:100%",
name : "projectNameText" name: "projectNameText"
}); });
this.setControlElement(PanelControlElementType.INFO_PROJECT_NAME_TEXT, projectNameText); this.setControlElement(PanelControlElementType.INFO_PROJECT_NAME_TEXT, projectNameText);
dataTab.appendChild(guiUtils.createTableRow([ projectNameLabel, projectNameText ])); dataTab.appendChild(guiUtils.createTableRow([projectNameLabel, projectNameText]));
var projectVersionLabel = Functions.createElement({ var projectVersionLabel = Functions.createElement({
type : "div", type: "div",
content : "Version:" content: "Version:"
}); });
var projectVersionText = Functions.createElement({ var projectVersionText = Functions.createElement({
type : "div", type: "div",
style : "width:100%", style: "width:100%",
name : "projectVersionText" name: "projectVersionText"
}); });
this.setControlElement(PanelControlElementType.INFO_PROJECT_VERSION_TEXT, projectVersionText); this.setControlElement(PanelControlElementType.INFO_PROJECT_VERSION_TEXT, projectVersionText);
dataTab.appendChild(guiUtils.createTableRow([ projectVersionLabel, projectVersionText ])); dataTab.appendChild(guiUtils.createTableRow([projectVersionLabel, projectVersionText]));
var projectDescriptionLabel = Functions.createElement({ var projectDescriptionLabel = Functions.createElement({
type : "div", type: "div",
content : "Description:" content: "Description:"
}); });
var projectDescriptionText = Functions.createElement({ var projectDescriptionText = Functions.createElement({
type : "div", type: "div",
style : "width:100%", style: "width:100%",
name : "projectDescriptionText" name: "projectDescriptionText"
}); });
this.setControlElement(PanelControlElementType.INFO_PROJECT_DESCRIOPTION_TEXT, projectDescriptionText); this.setControlElement(PanelControlElementType.INFO_PROJECT_DESCRIOPTION_TEXT, projectDescriptionText);
dataTab.appendChild(guiUtils.createTableRow([ projectDescriptionLabel, projectDescriptionText ])); dataTab.appendChild(guiUtils.createTableRow([projectDescriptionLabel, projectDescriptionText]));
infoTitle = Functions.createElement({ infoTitle = Functions.createElement({
type : "h4", type: "h4",
content : "Data:" content: "Data:"
}); });
infoDiv.appendChild(infoTitle); infoDiv.appendChild(infoTitle);
var dialogDiv = Functions.createElement({ var dialogDiv = Functions.createElement({
type : "div", type: "div",
}); });
this.publicationListDialog = new PublicationListDialog({ this.publicationListDialog = new PublicationListDialog({
customMap : self.getMap(), customMap: self.getMap(),
element : dialogDiv, element: dialogDiv,
}); });
dataTab = Functions.createElement({ dataTab = Functions.createElement({
type : "ul", type: "ul",
}); });
infoDiv.appendChild(dataTab); infoDiv.appendChild(dataTab);
var projectPublicationsText = Functions.createElement({ var projectPublicationsText = Functions.createElement({
type : "span", type: "span",
name : "projectPublicationsText", name: "projectPublicationsText",
style : "font-family:FontAwesome; font-weight: normal;font-style: normal;cursor: pointer", style: "font-family:FontAwesome; font-weight: normal;font-style: normal;cursor: pointer",
}); });
this.setControlElement(PanelControlElementType.INFO_PROJECT_PUBLICATIONS_TEXT, projectPublicationsText); this.setControlElement(PanelControlElementType.INFO_PROJECT_PUBLICATIONS_TEXT, projectPublicationsText);
var projectPublicationsButton = Functions.createElement({ var projectPublicationsButton = Functions.createElement({
type : "a", type: "a",
name : "projectPublicationsButton", name: "projectPublicationsButton",
}); });
projectPublicationsButton.appendChild(Functions.createElement({ projectPublicationsButton.appendChild(Functions.createElement({
type : "span", type: "span",
content : "<i class='fa fa-list'>&nbsp;", content: "<i class='fa fa-list'>&nbsp;",
})); }));
projectPublicationsButton.appendChild(projectPublicationsText); projectPublicationsButton.appendChild(projectPublicationsText);
projectPublicationsButton.appendChild(Functions.createElement({ projectPublicationsButton.appendChild(Functions.createElement({
type : "span", type: "span",
style : "font-family:FontAwesome; font-weight: normal;font-style: normal;cursor: pointer", style: "font-family:FontAwesome; font-weight: normal;font-style: normal;cursor: pointer",
content : "&nbsp;publication(s)", content: "&nbsp;publication(s)",
})); }));
this.setControlElement(PanelControlElementType.INFO_PROJECT_SHOW_PUBLICATIONS_BUTTON, projectPublicationsButton); this.setControlElement(PanelControlElementType.INFO_PROJECT_SHOW_PUBLICATIONS_BUTTON, projectPublicationsButton);
var liElement = Functions.createElement({ var liElement = Functions.createElement({
type : "li", type: "li",
style : "line-height: 30px;", style: "line-height: 30px;",
}); });
liElement.appendChild(projectPublicationsButton); liElement.appendChild(projectPublicationsButton);
dataTab.appendChild(liElement); dataTab.appendChild(liElement);
var projectOriginalFileButton = Functions.createElement({ var projectOriginalFileButton = Functions.createElement({
type : "a", type: "a",
name : "projectOriginalFileButton", name: "projectOriginalFileButton",
href : "#", href: "#",
content : "<i class='fa fa-files-o'>&nbsp;source file", content: "<i class='fa fa-files-o'>&nbsp;source file",
}); });
this.setControlElement(PanelControlElementType.INFO_PROJECT_GET_ORIGINAL_FILE_BUTTON, projectOriginalFileButton); this.setControlElement(PanelControlElementType.INFO_PROJECT_GET_ORIGINAL_FILE_BUTTON, projectOriginalFileButton);
liElement = Functions.createElement({ liElement = Functions.createElement({
type : "li", type: "li",
style : "line-height: 30px", style: "line-height: 30px",
}); });
liElement.appendChild(projectOriginalFileButton); liElement.appendChild(projectOriginalFileButton);
dataTab.appendChild(liElement); dataTab.appendChild(liElement);
var exportButton = Functions.createElement({ var exportButton = Functions.createElement({
type : "a", type: "a",
href : ServerConnector.getServerBaseUrl() + "/export.xhtml?id=" + projectId, href: ServerConnector.getServerBaseUrl() + "/export.xhtml?id=" + projectId,
content : '<i class="fa fa-mail-forward">&nbsp;EXPORT', content: '<i class="fa fa-mail-forward">&nbsp;EXPORT',
}); });
liElement = Functions.createElement({ liElement = Functions.createElement({
type : "li", type: "li",
style : "line-height: 30px", style: "line-height: 30px",
}); });
liElement.appendChild(exportButton); liElement.appendChild(exportButton);
dataTab.appendChild(liElement); dataTab.appendChild(liElement);
var manualButton = Functions.createElement({ var manualButton = Functions.createElement({
type : "a", type: "a",
name : "manualLink", name: "manualLink",
content : '<i class="fa fa-file">&nbsp;MANUAL', content: '<i class="fa fa-file">&nbsp;MANUAL',
}); });
manualButton.href = "#"; manualButton.href = "#";
manualButton.onclick = function() { manualButton.onclick = function () {
return ServerConnector.getConfigurationParam(ConfigurationType.USER_MANUAL_FILE).then(function(manualFileUrl) { return ServerConnector.getConfigurationParam(ConfigurationType.USER_MANUAL_FILE).then(function (manualFileUrl) {
var win = window.open(manualFileUrl, '_user_manual_'); var win = window.open(manualFileUrl, '_user_manual_');
win.focus(); win.focus();
}); });
}; };
liElement = Functions.createElement({ liElement = Functions.createElement({
type : "li", type: "li",
style : "line-height: 30px", style: "line-height: 30px",
}); });
liElement.appendChild(manualButton); liElement.appendChild(manualButton);
dataTab.appendChild(liElement); dataTab.appendChild(liElement);
}; };
ProjectInfoPanel.prototype._createInfoPanelLogic = function() { ProjectInfoPanel.prototype._createInfoPanelLogic = function () {
var self = this; var self = this;
var downloadSourceButton = self.getControlElement(PanelControlElementType.INFO_PROJECT_GET_ORIGINAL_FILE_BUTTON); var downloadSourceButton = self.getControlElement(PanelControlElementType.INFO_PROJECT_GET_ORIGINAL_FILE_BUTTON);
var showPublicationsButton = self.getControlElement(PanelControlElementType.INFO_PROJECT_SHOW_PUBLICATIONS_BUTTON); var showPublicationsButton = self.getControlElement(PanelControlElementType.INFO_PROJECT_SHOW_PUBLICATIONS_BUTTON);
downloadSourceButton.onclick = function() { downloadSourceButton.onclick = function () {
return self.downloadSourceFile(); return self.downloadSourceFile();
}; };
showPublicationsButton.onclick = function() { showPublicationsButton.onclick = function () {
return self.showPublicationListDialog(); return self.showPublicationListDialog();
}; };
}; };
ProjectInfoPanel.prototype.downloadSourceFile = function() { ProjectInfoPanel.prototype.downloadSourceFile = function () {
var self = this; var self = this;
return ServerConnector.getProjectSourceDownloadUrl().then(function(url) { return ServerConnector.getProjectSourceDownloadUrl().then(function (url) {
return self.downloadFile(url); return self.downloadFile(url);
}).then(null, GuiConnector.alert); }).then(null, GuiConnector.alert);
}; };
ProjectInfoPanel.prototype.showPublicationListDialog = function() { ProjectInfoPanel.prototype.showPublicationListDialog = function () {
return this.publicationListDialog.show(); return this.publicationListDialog.show();
}; };
ProjectInfoPanel.prototype.refresh = function() { ProjectInfoPanel.prototype.refresh = function () {
var self = this; var self = this;
var projectNameText = self.getControlElement(PanelControlElementType.INFO_PROJECT_NAME_TEXT); var projectNameText = self.getControlElement(PanelControlElementType.INFO_PROJECT_NAME_TEXT);
...@@ -224,123 +224,124 @@ ProjectInfoPanel.prototype.refresh = function() { ...@@ -224,123 +224,124 @@ ProjectInfoPanel.prototype.refresh = function() {
var projectDescriptionText = self.getControlElement(PanelControlElementType.INFO_PROJECT_DESCRIOPTION_TEXT); var projectDescriptionText = self.getControlElement(PanelControlElementType.INFO_PROJECT_DESCRIOPTION_TEXT);
var projectPublicationsText = self.getControlElement(PanelControlElementType.INFO_PROJECT_PUBLICATIONS_TEXT); var projectPublicationsText = self.getControlElement(PanelControlElementType.INFO_PROJECT_PUBLICATIONS_TEXT);
return ServerConnector.getProject().then(function(project) { return ServerConnector.getProject().then(function (project) {
projectNameText.innerHTML = project.getName(); projectNameText.innerHTML = project.getName();
projectVersionText.innerHTML = project.getVersion(); projectVersionText.innerHTML = project.getVersion();
projectDescriptionText.innerHTML = project.getDescription(); projectDescriptionText.innerHTML = project.getDescription();
return ServerConnector.getProjectStatistics(); return ServerConnector.getProjectStatistics();
}).then(function(statistics) { }).then(function (statistics) {
projectPublicationsText.innerHTML = statistics.getPublicationCount(); projectPublicationsText.innerHTML = statistics.getPublicationCount();
return ServerConnector.getLoggedUser(); return ServerConnector.getLoggedUser();
}).then(function(user) { }).then(function (user) {
self.showUserProfilePage(user); self.showUserProfilePage(user);
}); });
}; };
ProjectInfoPanel.prototype._createUserDataTab = function() { ProjectInfoPanel.prototype._createUserDataTab = function () {
var self = this; var self = this;
var guiUtils = self.getGuiUtils(); var guiUtils = self.getGuiUtils();
var userDataDiv = Functions.createElement({ var userDataDiv = Functions.createElement({
type : "div", type: "div",
name : "userDataTab", name: "userDataTab",
className : "searchPanel", className: "searchPanel",
style : "display:none" style: "display:none"
}); });
this.getElement().appendChild(userDataDiv); this.getElement().appendChild(userDataDiv);
this.setControlElement(PanelControlElementType.USER_TAB_USER_DIV, userDataDiv); this.setControlElement(PanelControlElementType.USER_TAB_USER_DIV, userDataDiv);
var userDataTitle = Functions.createElement({ var userDataTitle = Functions.createElement({
type : "h3", type: "h3",
content : '<img src="./resources/images/profile.png" border="0" align="left"/><br/>User data<br/>' content: '<img src="./resources/images/profile.png" border="0" align="left"/><br/>User data<br/>'
}); });
userDataDiv.appendChild(userDataTitle); userDataDiv.appendChild(userDataTitle);
var userDataFormTab = Functions.createElement({ var userDataFormTab = Functions.createElement({
type : "div", type: "div",
style : "width:100%;display: table;border-spacing: 10px;" style: "width:100%;display: table;border-spacing: 10px;"
}); });
userDataDiv.appendChild(userDataFormTab); userDataDiv.appendChild(userDataFormTab);
var loginLabel = Functions.createElement({ var loginLabel = Functions.createElement({
type : "span", type: "span",
content : "LOGIN:", content: "LOGIN:",
style : "color:#999999" style: "color:#999999"
}); });
var loginText = Functions.createElement({ var loginText = Functions.createElement({
type : "span", type: "span",
name : "loginValue" name: "loginValue"
}); });
this.setControlElement(PanelControlElementType.USER_TAB_LOGIN_TEXT, loginText); this.setControlElement(PanelControlElementType.USER_TAB_LOGIN_TEXT, loginText);
userDataDiv.appendChild(guiUtils.createTableRow([ loginLabel, loginText ])); userDataDiv.appendChild(guiUtils.createTableRow([loginLabel, loginText]));
var nameLabel = Functions.createElement({ var nameLabel = Functions.createElement({
type : "span", type: "span",
content : "NAME:", content: "NAME:",
style : "color:#999999" style: "color:#999999"
}); });
var nameText = Functions.createElement({ var nameText = Functions.createElement({
type : "span", type: "span",
name : "nameValue" name: "nameValue"
}); });
this.setControlElement(PanelControlElementType.USER_TAB_NAME_TEXT, nameText); this.setControlElement(PanelControlElementType.USER_TAB_NAME_TEXT, nameText);
userDataDiv.appendChild(guiUtils.createTableRow([ nameLabel, nameText ])); userDataDiv.appendChild(guiUtils.createTableRow([nameLabel, nameText]));
var surnameLabel = Functions.createElement({ var surnameLabel = Functions.createElement({
type : "span", type: "span",
content : "SURNAME:", content: "SURNAME:",
style : "color:#999999" style: "color:#999999"
}); });
var surnameText = Functions.createElement({ var surnameText = Functions.createElement({
type : "span", type: "span",
name : "surnameValue" name: "surnameValue"
}); });
this.setControlElement(PanelControlElementType.USER_TAB_SURNAME_TEXT, surnameText); this.setControlElement(PanelControlElementType.USER_TAB_SURNAME_TEXT, surnameText);
userDataDiv.appendChild(guiUtils.createTableRow([ surnameLabel, surnameText ])); userDataDiv.appendChild(guiUtils.createTableRow([surnameLabel, surnameText]));
var emailLabel = Functions.createElement({ var emailLabel = Functions.createElement({
type : "span", type: "span",
content : "EMAIL:", content: "EMAIL:",
style : "color:#999999" style: "color:#999999"
}); });
var emailText = Functions.createElement({ var emailText = Functions.createElement({
type : "span", type: "span",
name : "emailValue" name: "emailValue"
}); });
self.setControlElement(PanelControlElementType.USER_TAB_EMAIL_TEXT, emailText); self.setControlElement(PanelControlElementType.USER_TAB_EMAIL_TEXT, emailText);
userDataDiv.appendChild(guiUtils.createTableRow([ emailLabel, emailText ])); userDataDiv.appendChild(guiUtils.createTableRow([emailLabel, emailText]));
var centerTag = Functions.createElement({ var centerTag = Functions.createElement({
type : "center" type: "center"
}); });
userDataDiv.appendChild(centerTag); userDataDiv.appendChild(centerTag);
var logoutButton = Functions.createElement({ var logoutButton = Functions.createElement({
type : "button", type: "button",
name : "logoutButton", name: "logoutButton",
content : "LOGOUT" content: "LOGOUT"
}); });
centerTag.appendChild(logoutButton); centerTag.appendChild(logoutButton);
self.setControlElement(PanelControlElementType.USER_TAB_LOGOUT_BUTTON, logoutButton); self.setControlElement(PanelControlElementType.USER_TAB_LOGOUT_BUTTON, logoutButton);
self.setControlElement(PanelControlElementType.USER_TAB_USER_DIV, userDataDiv); self.setControlElement(PanelControlElementType.USER_TAB_USER_DIV, userDataDiv);
var loginTabDiv = Functions.createElement({ var loginTabDiv = Functions.createElement({
type : "div", type: "div",
name : "userLoginTab", name: "userLoginTab",
className : "searchPanel", className: "searchPanel",
style : "display:none", style: "display:none",
content : '<h3><img src="./resources/images/profile.png" border="0" align="left"/>' content: '<h3><img src="./resources/images/profile.png" border="0" align="left"/>'
+ '<br/>User data</h3><br/>YOU ARE NOT LOGGED IN.<br/>' + '<center><button>LOGIN</button></center>', + '<br/>User data</h3><br/>YOU ARE NOT LOGGED IN.<br/>' + '<center><button>LOGIN</button></center>' +
}); '<br/><a hreg="#" name="requestAccount">Request an account</a>',
$(loginTabDiv).find("button")[0].onclick = function() { });
$(loginTabDiv).find("button")[0].onclick = function () {
return self.getParent().getLoginDialog().open(); return self.getParent().getLoginDialog().open();
}; };
self.getElement().appendChild(loginTabDiv); self.getElement().appendChild(loginTabDiv);
self.setControlElement(PanelControlElementType.USER_TAB_LOGIN_DIV, loginTabDiv); self.setControlElement(PanelControlElementType.USER_TAB_LOGIN_DIV, loginTabDiv);
}; };
ProjectInfoPanel.prototype.showUserProfilePage = function(user) { ProjectInfoPanel.prototype.showUserProfilePage = function (user) {
var self = this; var self = this;
var userDataTabDiv = self.getControlElement(PanelControlElementType.USER_TAB_USER_DIV); var userDataTabDiv = self.getControlElement(PanelControlElementType.USER_TAB_USER_DIV);
...@@ -365,8 +366,13 @@ ProjectInfoPanel.prototype.showUserProfilePage = function(user) { ...@@ -365,8 +366,13 @@ ProjectInfoPanel.prototype.showUserProfilePage = function(user) {
} }
}; };
ProjectInfoPanel.prototype.init = function() { ProjectInfoPanel.prototype.init = function () {
return this.refresh(); var self = this;
return ServerConnector.getConfigurationParam(ConfigurationType.REQUEST_ACCOUNT_EMAIL).then(function (value) {
var link = $("[name=requestAccount]", self.getElement());
link.attr("href", "mailto:" + value + "?subject=MINERVA account request");
return self.refresh();
});
}; };
module.exports = ProjectInfoPanel; module.exports = ProjectInfoPanel;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment