Add edit E-mail template page.
This commit is contained in:
parent
17ef953a86
commit
60a108f377
10 changed files with 372 additions and 18 deletions
75
HACKING.rst
75
HACKING.rst
|
|
@ -205,6 +205,79 @@ openSUSE
|
||||||
* Go to http://localhost:8080/libreplan-webapp/
|
* Go to http://localhost:8080/libreplan-webapp/
|
||||||
|
|
||||||
|
|
||||||
|
Microsoft Windows
|
||||||
|
~~~~~~~~
|
||||||
|
|
||||||
|
* Download and install latest Java Development Kit 7u80 (JDK7u80)::
|
||||||
|
|
||||||
|
# http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
|
||||||
|
|
||||||
|
* Download and install latest PostgreSQL database::
|
||||||
|
|
||||||
|
# http://www.enterprisedb.com/products-services-training/pgdownload#windows
|
||||||
|
|
||||||
|
* Download and install Git
|
||||||
|
|
||||||
|
# https://git-scm.com/download/win
|
||||||
|
|
||||||
|
* Download Maven
|
||||||
|
|
||||||
|
# https://maven.apache.org/download.cgi
|
||||||
|
|
||||||
|
.. WARNING::
|
||||||
|
|
||||||
|
Check if latest Maven version is compatible with your JDK
|
||||||
|
|
||||||
|
* Connect to database::
|
||||||
|
|
||||||
|
# Go to PostgreSQL bin folder and command window from here
|
||||||
|
# psql -U postgres
|
||||||
|
|
||||||
|
* Use SQL sentences::
|
||||||
|
|
||||||
|
CREATE DATABASE libreplandev;
|
||||||
|
CREATE DATABASE libreplandevtest;
|
||||||
|
|
||||||
|
CREATE USER libreplan WITH PASSWORD 'libreplan';
|
||||||
|
|
||||||
|
REVOKE ALL
|
||||||
|
ON ALL TABLES IN SCHEMA public
|
||||||
|
FROM PUBLIC;
|
||||||
|
|
||||||
|
GRANT ALL PRIVILEGES ON DATABASE libreplan TO libreplan;
|
||||||
|
|
||||||
|
GRANT SELECT, INSERT, UPDATE, DELETE
|
||||||
|
ON ALL TABLES IN SCHEMA public
|
||||||
|
TO libreplan;
|
||||||
|
|
||||||
|
* Restore PostgreSQL dump - scripts/database/postgresql_1.4.1.backup
|
||||||
|
|
||||||
|
* Download source code::
|
||||||
|
|
||||||
|
# Open GitBash
|
||||||
|
# git clone https://github.com/LibrePlan/libreplan.git
|
||||||
|
|
||||||
|
* Set JAVA_HOME environment variable::
|
||||||
|
|
||||||
|
# You need to set it to your JDK installed directory (e.g. C:\Program Files\Java\jdk1.7.0_80)
|
||||||
|
|
||||||
|
* Add path of unpacked distributions bin directory of Maven to 'Path' environment variable
|
||||||
|
|
||||||
|
# (e.g. C:\Program Files\apache-maven-3.3.3\bin)
|
||||||
|
|
||||||
|
* Compile project::
|
||||||
|
|
||||||
|
# cd libreplan
|
||||||
|
# mvn clean install
|
||||||
|
|
||||||
|
* Launch application::
|
||||||
|
|
||||||
|
# cd libreplan-webapp
|
||||||
|
# mvn jetty:run
|
||||||
|
|
||||||
|
* Go to http://localhost:8080/libreplan-webapp/
|
||||||
|
|
||||||
|
|
||||||
CutyCapt compilation
|
CutyCapt compilation
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
|
@ -466,4 +539,4 @@ For MySQL users here are specific instructions.
|
||||||
* Launch application::
|
* Launch application::
|
||||||
|
|
||||||
$ cd libreplan-webapp/
|
$ cd libreplan-webapp/
|
||||||
$ mvn -Pdev,mysql jetty:run
|
$ mvn -Pdev,mysql jetty:run
|
||||||
77
INSTALL.rst
77
INSTALL.rst
|
|
@ -117,6 +117,11 @@ Instructions depending on the distribution:
|
||||||
|
|
||||||
If you have memory problems review the section `Fix memory errors`_.
|
If you have memory problems review the section `Fix memory errors`_.
|
||||||
|
|
||||||
|
Microsoft Windows
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
RPM Packages
|
RPM Packages
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
|
@ -316,6 +321,78 @@ openSUSE
|
||||||
|
|
||||||
* Go to http://localhost:8080/libreplan/
|
* Go to http://localhost:8080/libreplan/
|
||||||
|
|
||||||
|
Microsoft Windows
|
||||||
|
~~~~~~~~~~~
|
||||||
|
|
||||||
|
Instructions:
|
||||||
|
|
||||||
|
* Download and install latest Java Runtime Environment 7u79 (JRE7u79)::
|
||||||
|
|
||||||
|
# http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html
|
||||||
|
|
||||||
|
* Download and install latest PostgreSQL database::
|
||||||
|
|
||||||
|
# http://www.enterprisedb.com/products-services-training/pgdownload#windows
|
||||||
|
|
||||||
|
* Download and install Apache Tomcat 6::
|
||||||
|
|
||||||
|
# http://tomcat.apache.org/download-60.cgi
|
||||||
|
|
||||||
|
.. NOTE::
|
||||||
|
|
||||||
|
In JDK folder there is JRE folder
|
||||||
|
|
||||||
|
* Set up JDBC41 PostgreSQL Driver::
|
||||||
|
|
||||||
|
# Download latest driver: https://jdbc.postgresql.org/download.html
|
||||||
|
# Copy downloaded *.jar file to JRE location: (e.g. C:\Program Files\Java\jre7\lib\ext)
|
||||||
|
|
||||||
|
* Download latest ``.war`` file from SourceForge.net (for PostgreSQL) and rename it to libreplan.war::
|
||||||
|
|
||||||
|
# http://sourceforge.net/projects/libreplan/files/LibrePlan/
|
||||||
|
|
||||||
|
* Create database::
|
||||||
|
|
||||||
|
CREATE DATABASE libreplan;
|
||||||
|
|
||||||
|
* Use SQL sentences::
|
||||||
|
|
||||||
|
CREATE USER libreplan WITH PASSWORD 'libreplan';
|
||||||
|
GRANT ALL PRIVILEGES ON DATABASE libreplan TO libreplan;
|
||||||
|
|
||||||
|
REVOKE ALL
|
||||||
|
ON ALL TABLES IN SCHEMA public
|
||||||
|
FROM PUBLIC;
|
||||||
|
GRANT SELECT, INSERT, UPDATE, DELETE
|
||||||
|
ON ALL TABLES IN SCHEMA public
|
||||||
|
TO libreplan;
|
||||||
|
|
||||||
|
* Restore PostgreSQL dump - scripts/database/postgresql_1.4.1.backup::
|
||||||
|
|
||||||
|
* Create an Environment Variable JRE_HOME
|
||||||
|
|
||||||
|
# You need to set it to your JRE installed directory
|
||||||
|
|
||||||
|
* Configure Apache Tomcat Server
|
||||||
|
|
||||||
|
# Put libreplan.war file to Apache Tomcat webapps folder (e.g. C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\)
|
||||||
|
# Go to localhost folder (e.g. C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf\Catalina\localhost\) and create there libreplan.xml file with this lines of code:
|
||||||
|
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Context antiJARLocking="true" path="">
|
||||||
|
<Resource name="jdbc/libreplan-ds" auth="Container"
|
||||||
|
type="javax.sql.DataSource"
|
||||||
|
maxActive="100" maxIdle="30" maxWait="10000"
|
||||||
|
username="libreplan" password="libreplan"
|
||||||
|
driverClassName="org.postgresql.Driver"
|
||||||
|
url="jdbc:postgresql://localhost/libreplan" />
|
||||||
|
</Context>
|
||||||
|
|
||||||
|
* Start Apache Tomcat server
|
||||||
|
|
||||||
|
# Example location: C:\Program Files\Apache Software Foundation\Tomcat 6.0\bin\Tomcat6.exe
|
||||||
|
|
||||||
|
* Go to http://localhost:8080/libreplan
|
||||||
|
|
||||||
Logs
|
Logs
|
||||||
----
|
----
|
||||||
|
|
|
||||||
101
doc/src/technical/howto-start-development-with-intellij-idea.rst
Normal file
101
doc/src/technical/howto-start-development-with-intellij-idea.rst
Normal file
|
|
@ -0,0 +1,101 @@
|
||||||
|
How To Start Development With JetBrains Intellij IDEA
|
||||||
|
======================================================
|
||||||
|
|
||||||
|
.. sectnum::
|
||||||
|
|
||||||
|
:Author: Perebykivskiy Vova
|
||||||
|
:Contact: vova@libreplan-enterprise.com
|
||||||
|
:Date: 09/09/2015
|
||||||
|
:Copyright:
|
||||||
|
Some rights reserved. This document is distributed under the Creative
|
||||||
|
Commons Attribution-ShareAlike 3.0 licence, available in
|
||||||
|
http://creativecommons.org/licenses/by-sa/3.0/.
|
||||||
|
:Abstract:
|
||||||
|
Quick guide to start the development of LibrePlan_ using JetBrains Intellij IDEA_ IDE.
|
||||||
|
As this is the most common way of work among LibrePlan developers team.
|
||||||
|
|
||||||
|
.. contents:: Table of Contents
|
||||||
|
|
||||||
|
Download LibrePlan source code
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
* You need to download LibrePlan_ source code to start hacking on it. You have two
|
||||||
|
options:
|
||||||
|
|
||||||
|
a) Clone Git repository (recommended)::
|
||||||
|
|
||||||
|
git clone git://github.com/LibrePlan/libreplan.git
|
||||||
|
|
||||||
|
b) Download last version source code::
|
||||||
|
|
||||||
|
http://sourceforge.net/projects/libreplan/files/LibrePlan/libreplan_*.tar.gz
|
||||||
|
|
||||||
|
* Download latest libreplan_*.war file for your database (PostgreSQL or MySQL)
|
||||||
|
|
||||||
|
http://sourceforge.net/projects/libreplan/files/LibrePlan/
|
||||||
|
|
||||||
|
You should review ``HACKING`` file to check that you have installed all the
|
||||||
|
requirements.
|
||||||
|
|
||||||
|
Import LibrePlan project
|
||||||
|
------------------------
|
||||||
|
* Run Intellij IDEA
|
||||||
|
|
||||||
|
* Select Import Project
|
||||||
|
|
||||||
|
* Select directory with source code of Libreplan
|
||||||
|
|
||||||
|
# e.g. C\Users\PC-User\IdeaProjects\libreplan
|
||||||
|
|
||||||
|
* Select *Import project from external model* > *Maven* and click *Next*
|
||||||
|
|
||||||
|
* Then leave all as default
|
||||||
|
|
||||||
|
* Then select profiles: dev and for PostgreSQL users - postgresql / Mysql users - mysql
|
||||||
|
|
||||||
|
* Then leave all by default
|
||||||
|
|
||||||
|
* Then choose your JDK
|
||||||
|
|
||||||
|
* Then define project name or leave default name
|
||||||
|
|
||||||
|
|
||||||
|
Configure project to run
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
* Go to *Run* > *Edit Configurations...*
|
||||||
|
|
||||||
|
* Create a new *Maven Build* called *MavenConfig*
|
||||||
|
|
||||||
|
* Change the following values:
|
||||||
|
|
||||||
|
* Working directory: Choose ``libreplan-webapp`` folder in your workspace
|
||||||
|
* Command line: ``jetty:stop jetty:run``
|
||||||
|
* Profiles (optional): ``-userguide -reports -i18n``
|
||||||
|
(to disable userguide,reports and i18n profiles to save compilation time
|
||||||
|
as they are not mandatory to run LibrePlan)
|
||||||
|
* Mark the following checkboxes (recommended):
|
||||||
|
|
||||||
|
* Resolve Workspace artifacts
|
||||||
|
|
||||||
|
* In "Before launch" section choose "+" and add Build Artifact (war file)
|
||||||
|
|
||||||
|
* Click *Run* and application will be available at
|
||||||
|
http://localhost:8080/libreplan-webapp/
|
||||||
|
|
||||||
|
Develop LibrePlan in Intellij IDEA using MySQL
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
* This tutorial works properly with PostgreSQL, but if you want to develop
|
||||||
|
LibrePlan using MySQL you have to do 2 small changes:
|
||||||
|
|
||||||
|
* In section `Configure project to run`_ you have to set the *Profiles* to:
|
||||||
|
``-dev -mysql -userguide -reports -i18n``
|
||||||
|
|
||||||
|
* Remember that the three last profiles that are being disabled is just to save
|
||||||
|
compilation time and not mandatory. However, to develop using MySQL you have
|
||||||
|
to set at least the first two: ``-dev`` and ``-mysql``.
|
||||||
|
|
||||||
|
|
||||||
|
.. _LibrePlan: http://www.libreplan.com/
|
||||||
|
.. _JetBrains Intellij IDEA: https://www.jetbrains.com/idea/
|
||||||
|
|
@ -27,6 +27,7 @@ import static org.libreplan.business.i18n.I18nHelper._;
|
||||||
*
|
*
|
||||||
* @author Miciele Ghiorghis <m.ghiorghis@antoniusziekenhuis.nl>
|
* @author Miciele Ghiorghis <m.ghiorghis@antoniusziekenhuis.nl>
|
||||||
* @author Manuel Rego Casasnovas <rego@igalia.com>
|
* @author Manuel Rego Casasnovas <rego@igalia.com>
|
||||||
|
* @author Vova Perebykivskiy <vova@libreplan-enterprise.com>
|
||||||
*/
|
*/
|
||||||
public class PredefinedConnectorProperties {
|
public class PredefinedConnectorProperties {
|
||||||
|
|
||||||
|
|
@ -51,4 +52,9 @@ public class PredefinedConnectorProperties {
|
||||||
*/
|
*/
|
||||||
public static final String JIRA_CODE_PREFIX = "JIRA-";
|
public static final String JIRA_CODE_PREFIX = "JIRA-";
|
||||||
|
|
||||||
|
// Specific for E-mail
|
||||||
|
public static String HOST = _("Host");
|
||||||
|
public static String USER_EMAIL = _("E-mail");
|
||||||
|
public static String PORT = _("Port");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ import java.util.List;
|
||||||
*
|
*
|
||||||
* @author Miciele Ghiorghis <m.ghiorghis@antoniusziekenhuis.nl>
|
* @author Miciele Ghiorghis <m.ghiorghis@antoniusziekenhuis.nl>
|
||||||
* @author Manuel Rego Casasnovas <rego@igalia.com>
|
* @author Manuel Rego Casasnovas <rego@igalia.com>
|
||||||
|
* @author Vova Perebykivskiy <vova@libreplan-enterprise.com>
|
||||||
*/
|
*/
|
||||||
public enum PredefinedConnectors {
|
public enum PredefinedConnectors {
|
||||||
|
|
||||||
|
|
@ -50,7 +51,14 @@ public enum PredefinedConnectors {
|
||||||
ConnectorProperty
|
ConnectorProperty
|
||||||
.create(PredefinedConnectorProperties.JIRA_LABELS, ""),
|
.create(PredefinedConnectorProperties.JIRA_LABELS, ""),
|
||||||
ConnectorProperty.create(
|
ConnectorProperty.create(
|
||||||
PredefinedConnectorProperties.JIRA_HOURS_TYPE, "Default"));
|
PredefinedConnectorProperties.JIRA_HOURS_TYPE, "Default")),
|
||||||
|
EMAIL("E-mail",
|
||||||
|
ConnectorProperty.create(PredefinedConnectorProperties.ACTIVATED, "N"),
|
||||||
|
ConnectorProperty.create(PredefinedConnectorProperties.HOST, ""),
|
||||||
|
ConnectorProperty.create(PredefinedConnectorProperties.PORT, ""),
|
||||||
|
ConnectorProperty.create(PredefinedConnectorProperties.USER_EMAIL, ""),
|
||||||
|
ConnectorProperty.create(PredefinedConnectorProperties.PASSWORD, "")
|
||||||
|
);
|
||||||
|
|
||||||
private String name;
|
private String name;
|
||||||
private List<ConnectorProperty> properties;
|
private List<ConnectorProperty> properties;
|
||||||
|
|
|
||||||
|
|
@ -430,6 +430,14 @@
|
||||||
<groupId>javax.servlet</groupId>
|
<groupId>javax.servlet</groupId>
|
||||||
<artifactId>servlet-api</artifactId>
|
<artifactId>servlet-api</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!--Java mail-->
|
||||||
|
<dependency>
|
||||||
|
<groupId>javax.mail</groupId>
|
||||||
|
<artifactId>mail</artifactId>
|
||||||
|
<version>1.5.0-b01</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
<!-- JAX-RS API -->
|
<!-- JAX-RS API -->
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>javax.ws.rs</groupId>
|
<groupId>javax.ws.rs</groupId>
|
||||||
|
|
|
||||||
|
|
@ -23,16 +23,9 @@ package org.libreplan.web.common;
|
||||||
|
|
||||||
import static org.libreplan.web.I18nHelper._;
|
import static org.libreplan.web.I18nHelper._;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.*;
|
||||||
import java.util.Arrays;
|
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.Comparator;
|
|
||||||
import java.util.ConcurrentModificationException;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
|
import javax.mail.*;
|
||||||
import javax.ws.rs.core.MediaType;
|
import javax.ws.rs.core.MediaType;
|
||||||
import javax.ws.rs.core.Response;
|
import javax.ws.rs.core.Response;
|
||||||
import javax.ws.rs.core.Response.Status;
|
import javax.ws.rs.core.Response.Status;
|
||||||
|
|
@ -97,6 +90,7 @@ import org.zkoss.zul.impl.InputElement;
|
||||||
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
* @author Susana Montes Pedreira <smontes@wirelessgalicia.com>
|
||||||
* @author Cristina Alavarino Perez <cristina.alvarino@comtecsf.es>
|
* @author Cristina Alavarino Perez <cristina.alvarino@comtecsf.es>
|
||||||
* @author Ignacio Diaz Teijido <ignacio.diaz@comtecsf.es>
|
* @author Ignacio Diaz Teijido <ignacio.diaz@comtecsf.es>
|
||||||
|
* @author Vova Perebykivskiy <vova@libreplan-enterprise.com>
|
||||||
*/
|
*/
|
||||||
public class ConfigurationController extends GenericForwardComposer {
|
public class ConfigurationController extends GenericForwardComposer {
|
||||||
|
|
||||||
|
|
@ -251,6 +245,7 @@ public class ConfigurationController extends GenericForwardComposer {
|
||||||
|
|
||||||
public void cancel() throws InterruptedException {
|
public void cancel() throws InterruptedException {
|
||||||
configurationModel.cancel();
|
configurationModel.cancel();
|
||||||
|
messages.clearMessages();
|
||||||
messages.showMessage(Level.INFO, _("Changes have been canceled"));
|
messages.showMessage(Level.INFO, _("Changes have been canceled"));
|
||||||
reloadWindow();
|
reloadWindow();
|
||||||
reloadEntitySequences();
|
reloadEntitySequences();
|
||||||
|
|
@ -305,12 +300,18 @@ public class ConfigurationController extends GenericForwardComposer {
|
||||||
String password = properties
|
String password = properties
|
||||||
.get(PredefinedConnectorProperties.PASSWORD);
|
.get(PredefinedConnectorProperties.PASSWORD);
|
||||||
|
|
||||||
if (selectedConnector.getName().equals(
|
if ( selectedConnector.getName().equals(
|
||||||
PredefinedConnectors.TIM.getName())) {
|
PredefinedConnectors.TIM.getName()) ) {
|
||||||
testTimConnection(url, username, password);
|
testTimConnection(url, username, password);
|
||||||
} else if (selectedConnector.getName().equals(
|
} else if ( selectedConnector.getName().equals(
|
||||||
PredefinedConnectors.JIRA.getName())) {
|
PredefinedConnectors.JIRA.getName()) ) {
|
||||||
testJiraConnection(url, username, password);
|
testJiraConnection(url, username, password);
|
||||||
|
} else if( selectedConnector.getName().equals(
|
||||||
|
PredefinedConnectors.EMAIL.getName()) ){
|
||||||
|
String host = properties.get(PredefinedConnectorProperties.HOST);
|
||||||
|
String email = properties.get(PredefinedConnectorProperties.USER_EMAIL);
|
||||||
|
String port = properties.get(PredefinedConnectorProperties.PORT);
|
||||||
|
testEmailConnection(host, port, email, password);
|
||||||
} else {
|
} else {
|
||||||
throw new RuntimeException("Unknown connector");
|
throw new RuntimeException("Unknown connector");
|
||||||
}
|
}
|
||||||
|
|
@ -373,6 +374,65 @@ public class ConfigurationController extends GenericForwardComposer {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Test E-mail connection
|
||||||
|
*
|
||||||
|
* @param host
|
||||||
|
* the host
|
||||||
|
* @param port
|
||||||
|
* the port
|
||||||
|
* @param email
|
||||||
|
* the email
|
||||||
|
* @param password
|
||||||
|
* the password
|
||||||
|
*/
|
||||||
|
private void testEmailConnection(String host, String port, String email, String password){
|
||||||
|
|
||||||
|
String[] hostWords = host.split("\\.");
|
||||||
|
|
||||||
|
// + "s" means that protocol coming with SSL
|
||||||
|
String protocol = hostWords[0] + "s";
|
||||||
|
|
||||||
|
Properties props = System.getProperties();
|
||||||
|
|
||||||
|
if ( hostWords[0].equals("pop") ){
|
||||||
|
protocol = "pop3s";
|
||||||
|
props.setProperty("mail.pop3s.port", port);
|
||||||
|
}
|
||||||
|
else if ( hostWords[0].equals("smtp") ){ props.setProperty("mail.smtps.port", port); }
|
||||||
|
else if ( hostWords[0].equals("imap") ){ props.setProperty("mail.imaps.port", port); }
|
||||||
|
|
||||||
|
try {
|
||||||
|
Session session = Session.getInstance(props, null);
|
||||||
|
session.setDebug(true);
|
||||||
|
|
||||||
|
if ( hostWords[0].equals("pop") || hostWords[0].equals("imap") ){
|
||||||
|
Store store = session.getStore(protocol);
|
||||||
|
store.connect(host, email, password);
|
||||||
|
messages.clearMessages();
|
||||||
|
if ( store.isConnected() ) messages.showMessage(Level.INFO, _("Connection successful!"));
|
||||||
|
}
|
||||||
|
else if ( hostWords[0].equals("smtp") ){
|
||||||
|
Transport transport = session.getTransport(protocol);
|
||||||
|
transport.connect(host, email, password);
|
||||||
|
messages.clearMessages();
|
||||||
|
if ( transport.isConnected() ) messages.showMessage(Level.INFO, _("Connection successful!"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (AuthenticationFailedException e){
|
||||||
|
LOG.error(e);
|
||||||
|
messages.showMessage(Level.ERROR, _("Invalid credentials"));
|
||||||
|
}
|
||||||
|
catch (MessagingException e){
|
||||||
|
LOG.error(e);
|
||||||
|
messages.showMessage(Level.ERROR, _("Cannot connect"));
|
||||||
|
}
|
||||||
|
catch (Exception e){
|
||||||
|
LOG.error(e);
|
||||||
|
messages.showMessage(Level.ERROR, _("Failed to connect"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private boolean checkValidEntitySequenceRows() {
|
private boolean checkValidEntitySequenceRows() {
|
||||||
Rows rows = entitySequencesGrid.getRows();
|
Rows rows = entitySequencesGrid.getRows();
|
||||||
for (Row row : (List<Row>) rows.getChildren()) {
|
for (Row row : (List<Row>) rows.getChildren()) {
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,7 @@ import org.zkoss.zul.Vbox;
|
||||||
* Controller for customMenu <br />
|
* Controller for customMenu <br />
|
||||||
* @author Lorenzo Tilve Álvaro <ltilve@igalia.com>
|
* @author Lorenzo Tilve Álvaro <ltilve@igalia.com>
|
||||||
* @author Fernando Bellas Permuy <fbellas@udc.es>
|
* @author Fernando Bellas Permuy <fbellas@udc.es>
|
||||||
|
* @author Vova Perebykivskiy <vova@libreplan-enterprise.com>
|
||||||
*/
|
*/
|
||||||
public class CustomMenuController extends Div implements IMenuItemsRegister {
|
public class CustomMenuController extends Div implements IMenuItemsRegister {
|
||||||
|
|
||||||
|
|
@ -420,6 +421,11 @@ public class CustomMenuController extends Div implements IMenuItemsRegister {
|
||||||
"/common/job_scheduling.zul",
|
"/common/job_scheduling.zul",
|
||||||
"19-scheduler.html"));
|
"19-scheduler.html"));
|
||||||
}
|
}
|
||||||
|
if (SecurityUtils.isSuperuserOrUserInRoles(UserRole.ROLE_EDIT_EMAIL_TEMPLATES)) {
|
||||||
|
configurationItems.add(subItem(_("Edit E-mail Templates"),
|
||||||
|
"/templates/email_templates.zul",
|
||||||
|
"email-templates.html"));
|
||||||
|
}
|
||||||
|
|
||||||
if (!configurationItems.isEmpty()) {
|
if (!configurationItems.isEmpty()) {
|
||||||
topItem(_("Configuration"), "/common/configuration.zul", "",
|
topItem(_("Configuration"), "/common/configuration.zul", "",
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,6 @@ import java.util.Arrays;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Comparator;
|
import java.util.Comparator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.logging.Filter;
|
|
||||||
|
|
||||||
import org.libreplan.business.common.exceptions.ValidationException;
|
import org.libreplan.business.common.exceptions.ValidationException;
|
||||||
import org.libreplan.business.labels.entities.Label;
|
import org.libreplan.business.labels.entities.Label;
|
||||||
|
|
@ -38,8 +37,6 @@ import org.libreplan.web.common.Level;
|
||||||
import org.libreplan.web.common.MessagesForUser;
|
import org.libreplan.web.common.MessagesForUser;
|
||||||
import org.libreplan.web.common.components.bandboxsearch.BandboxSearch;
|
import org.libreplan.web.common.components.bandboxsearch.BandboxSearch;
|
||||||
import org.zkoss.zk.ui.Component;
|
import org.zkoss.zk.ui.Component;
|
||||||
import org.zkoss.zk.ui.Session;
|
|
||||||
import org.zkoss.zk.ui.Sessions;
|
|
||||||
import org.zkoss.zk.ui.event.Event;
|
import org.zkoss.zk.ui.event.Event;
|
||||||
import org.zkoss.zk.ui.event.EventListener;
|
import org.zkoss.zk.ui.event.EventListener;
|
||||||
import org.zkoss.zk.ui.event.Events;
|
import org.zkoss.zk.ui.event.Events;
|
||||||
|
|
|
||||||
|
|
@ -889,6 +889,7 @@ msgstr ""
|
||||||
#: libreplan-webapp/src/main/webapp/resources/worker/_edition.zul:122
|
#: libreplan-webapp/src/main/webapp/resources/worker/_edition.zul:122
|
||||||
#: libreplan-webapp/src/main/webapp/resources/worker/_edition.zul:158
|
#: libreplan-webapp/src/main/webapp/resources/worker/_edition.zul:158
|
||||||
#: libreplan-webapp/src/main/webapp/users/_editUser.zul:84
|
#: libreplan-webapp/src/main/webapp/users/_editUser.zul:84
|
||||||
|
#: libreplan-business/src/main/java/org/libreplan/business/common/entities/PredefinedConnectorProperties.java:56
|
||||||
msgid "E-mail"
|
msgid "E-mail"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -1363,6 +1364,7 @@ msgid "First expense"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: libreplan-webapp/src/main/webapp/common/configuration.zul:296
|
#: libreplan-webapp/src/main/webapp/common/configuration.zul:296
|
||||||
|
#: libreplan-business/src/main/java/org/libreplan/business/common/entities/PredefinedConnectorProperties.java:55
|
||||||
msgid "Host"
|
msgid "Host"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
|
@ -9212,3 +9214,19 @@ msgstr ""
|
||||||
#: libreplan-business/src/main/java/org/libreplan/business/settings/entities/Language.java:36
|
#: libreplan-business/src/main/java/org/libreplan/business/settings/entities/Language.java:36
|
||||||
msgid "Use browser language configuration"
|
msgid "Use browser language configuration"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
#: libreplan-business/src/main/java/org/libreplan/business/templates/entities/EmailTemplateEnum.java:17
|
||||||
|
msgid "Task assigned to resource"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: libreplan-webapp/src/main/java/org/libreplan/web/common/CustomMenuController.java:425
|
||||||
|
msgid "Edit E-mail Templates"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: libreplan-webapp/src/main/java/org/libreplan/web/templates/EmailTemplateController.java:72
|
||||||
|
msgid "E-mail template saved"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: libreplan-business/src/main/java/org/libreplan/business/common/entities/PredefinedConnectorProperties.java:57
|
||||||
|
msgid "Port"
|
||||||
|
msgstr ""
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue