Added interactive user roles list
This commit is contained in:
parent
d605ea1ae3
commit
b12c5c673e
4 changed files with 71 additions and 48 deletions
81
INSTALL.rst
81
INSTALL.rst
|
|
@ -164,7 +164,7 @@ Debian/Ubuntu
|
||||||
|
|
||||||
* Install requirements::
|
* Install requirements::
|
||||||
|
|
||||||
# apt-get install openjdk-7-jre postgresql postgresql-client tomcat7 libpg-java cutycapt xvfb
|
# apt-get install openjdk-8-jre postgresql postgresql-client tomcat8 libpg-java cutycapt xvfb
|
||||||
|
|
||||||
* Connect to database::
|
* Connect to database::
|
||||||
|
|
||||||
|
|
@ -201,9 +201,9 @@ Debian/Ubuntu
|
||||||
|
|
||||||
$ wget -O libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.4.1.war
|
$ wget -O libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.4.1.war
|
||||||
|
|
||||||
* Create a new file ``/etc/tomcat7/Catalina/localhost/libreplan.xml`` (file
|
* Create a new file ``/etc/tomcat8/Catalina/localhost/libreplan.xml`` (file
|
||||||
name has to match with ``.war`` name) with database configuration for
|
name has to match with ``.war`` name) with database configuration for
|
||||||
Tomcat 7::
|
Tomcat 8::
|
||||||
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
|
@ -216,21 +216,18 @@ Debian/Ubuntu
|
||||||
url="jdbc:postgresql://localhost/libreplan" />
|
url="jdbc:postgresql://localhost/libreplan" />
|
||||||
</Context>
|
</Context>
|
||||||
|
|
||||||
* Add next lines to Tomcat 7 policy file ``/etc/tomcat7/catalina.policy`` or ``/var/lib/tomcat7/conf`` or ``/etc/tomcat7/policy.d/03catalina.policy``
|
* Add next lines to Tomcat 8 policy file ``/etc/tomcat8/catalina.policy`` or ``/var/lib/tomcat8/conf`` or ``/etc/tomcat8/policy.d/03catalina.policy``
|
||||||
with the following content::
|
with the following content::
|
||||||
|
|
||||||
grant codeBase "file:/var/lib/tomcat7/webapps/libreplan/-" {
|
grant codeBase "file:/var/lib/tomcat8/webapps/libreplan/-" {
|
||||||
permission java.security.AllPermission;
|
permission java.security.AllPermission;
|
||||||
};
|
};
|
||||||
grant codeBase "file:/var/lib/tomcat7/webapps/libreplan.war" {
|
grant codeBase "file:/var/lib/tomcat8/webapps/libreplan.war" {
|
||||||
permission java.security.AllPermission;
|
permission java.security.AllPermission;
|
||||||
};
|
};
|
||||||
|
|
||||||
.. NOTE::
|
|
||||||
|
|
||||||
For Tomcat 6, create a ``/etc/tomcat6/policy.d/51libreplan.policy`` and replace `̀ tomcat7`` by ``tomcat6``.
|
* Also add next lines to Tomcat 8 policy file::
|
||||||
|
|
||||||
* Also add next lines to Tomcat 7 policy file::
|
|
||||||
|
|
||||||
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
|
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
|
||||||
...
|
...
|
||||||
|
|
@ -240,21 +237,17 @@ Debian/Ubuntu
|
||||||
...
|
...
|
||||||
};
|
};
|
||||||
|
|
||||||
.. NOTE::
|
* Add link to Java JDBC driver for PostgreSQL in Tomcat8 libraries directory::
|
||||||
|
|
||||||
For Tomcat 6, this is the ``/etc/tomcat6/policy.d/03catalina.policy``.
|
# ln -s /usr/share/java/postgresql-jdbc4.jar /usr/share/tomcat8/lib/
|
||||||
|
|
||||||
* Add link to Java JDBC driver for PostgreSQL in Tomcat6 libraries directory::
|
* Copy war to Tomcat 8 web applications directory::
|
||||||
|
|
||||||
# ln -s /usr/share/java/postgresql-jdbc4.jar /usr/share/tomcat7/lib/
|
# cp libreplan.war /var/lib/tomcat8/webapps/
|
||||||
|
|
||||||
* Copy war to Tomcat 7 web applications directory::
|
* Restart Tomcat 8::
|
||||||
|
|
||||||
# cp libreplan.war /var/lib/tomcat7/webapps/
|
# /etc/init.d/tomcat8 restart
|
||||||
|
|
||||||
* Restart Tomcat 7::
|
|
||||||
|
|
||||||
# /etc/init.d/tomcat7 restart
|
|
||||||
|
|
||||||
* Go to http://localhost:8080/libreplan/
|
* Go to http://localhost:8080/libreplan/
|
||||||
|
|
||||||
|
|
@ -269,7 +262,7 @@ openSUSE
|
||||||
|
|
||||||
* Install requirements::
|
* Install requirements::
|
||||||
|
|
||||||
# zypper install java-1_7_0-openjdk postgresql-server postgresql tomcat7 xorg-x11-server
|
# zypper install java-1_8_0-openjdk postgresql-server postgresql tomcat8 xorg-x11-server
|
||||||
|
|
||||||
* JDBC Driver manual installation::
|
* JDBC Driver manual installation::
|
||||||
|
|
||||||
|
|
@ -324,9 +317,9 @@ openSUSE
|
||||||
|
|
||||||
$ wget -O libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.4.1.war
|
$ wget -O libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.4.1.war
|
||||||
|
|
||||||
* Create a new file ``/etc/tomcat7/Catalina/localhost/libreplan.xml`` (file
|
* Create a new file ``/etc/tomcat8/Catalina/localhost/libreplan.xml`` (file
|
||||||
name has to match with ``.war`` name) with database configuration for
|
name has to match with ``.war`` name) with database configuration for
|
||||||
Tomcat 7::
|
Tomcat 8::
|
||||||
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
|
@ -339,17 +332,17 @@ openSUSE
|
||||||
url="jdbc:postgresql://localhost/libreplan" />
|
url="jdbc:postgresql://localhost/libreplan" />
|
||||||
</Context>
|
</Context>
|
||||||
|
|
||||||
* Add link to Java JDBC driver for PostgreSQL in Tomcat7 libraries directory::
|
* Add link to Java JDBC driver for PostgreSQL in Tomcat8 libraries directory::
|
||||||
|
|
||||||
# ln -s /usr/share/java/postgresql-jdbc4.jar /usr/share/tomcat7/lib/
|
# ln -s /usr/share/java/postgresql-jdbc4.jar /usr/share/tomcat8/lib/
|
||||||
|
|
||||||
* Copy war to Tomcat 7 web applications directory::
|
* Copy war to Tomcat 8 web applications directory::
|
||||||
|
|
||||||
# cp libreplan.war /srv/tomcat7/webapps/
|
# cp libreplan.war /srv/tomcat8/webapps/
|
||||||
|
|
||||||
* Restart Tomcat 7:
|
* Restart Tomcat 8:
|
||||||
|
|
||||||
# /etc/init.d/tomcat7 restart
|
# /etc/init.d/tomcat8 restart
|
||||||
|
|
||||||
* Go to http://localhost:8080/libreplan/
|
* Go to http://localhost:8080/libreplan/
|
||||||
|
|
||||||
|
|
@ -358,17 +351,17 @@ Microsoft Windows
|
||||||
|
|
||||||
Instructions:
|
Instructions:
|
||||||
|
|
||||||
* Download and install latest Java Runtime Environment 7uXX (JRE7uXX)::
|
* Download and install latest Java Runtime Environment 8uXX (JRE8uXX)::
|
||||||
|
|
||||||
# http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html
|
# http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html
|
||||||
|
|
||||||
* Download and install latest PostgreSQL database::
|
* Download and install latest PostgreSQL database::
|
||||||
|
|
||||||
# http://www.enterprisedb.com/products-services-training/pgdownload#windows
|
# http://www.enterprisedb.com/products-services-training/pgdownload#windows
|
||||||
|
|
||||||
* Download and install Apache Tomcat 6::
|
* Download and install Apache Tomcat 8::
|
||||||
|
|
||||||
# http://tomcat.apache.org/download-60.cgi
|
# https://tomcat.apache.org/download-80.cgi
|
||||||
|
|
||||||
.. NOTE::
|
.. NOTE::
|
||||||
|
|
||||||
|
|
@ -377,7 +370,7 @@ Instructions:
|
||||||
* Set up JDBC41 PostgreSQL Driver::
|
* Set up JDBC41 PostgreSQL Driver::
|
||||||
|
|
||||||
# Download latest driver: https://jdbc.postgresql.org/download.html
|
# 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)
|
# Copy downloaded *.jar file to JRE location: (e.g. C:\Program Files\Java\jre8\lib\ext)
|
||||||
|
|
||||||
* Download latest ``.war`` file from SourceForge.net (for PostgreSQL) and rename it to libreplan.war::
|
* Download latest ``.war`` file from SourceForge.net (for PostgreSQL) and rename it to libreplan.war::
|
||||||
|
|
||||||
|
|
@ -407,9 +400,9 @@ Instructions:
|
||||||
|
|
||||||
* Configure Apache Tomcat Server
|
* 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/)
|
* Put libreplan.war file to Apache Tomcat webapps folder (e.g. C:/Program Files/Apache Software Foundation/Tomcat 8.0/webapps/)
|
||||||
|
|
||||||
* Go to localhost folder (e.g. C:/Program Files/Apache Software Foundation/Tomcat 6.0/conf/Catalina/localhost/)
|
* Go to localhost folder (e.g. C:/Program Files/Apache Software Foundation/Tomcat 8.0/conf/Catalina/localhost/)
|
||||||
and create there libreplan.xml file with this lines of code::
|
and create there libreplan.xml file with this lines of code::
|
||||||
|
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
@ -425,7 +418,7 @@ Instructions:
|
||||||
|
|
||||||
* Start Apache Tomcat server
|
* Start Apache Tomcat server
|
||||||
|
|
||||||
# Example location: C:/Program Files/Apache Software Foundation/Tomcat 6.0/bin/Tomcat6.exe
|
# Example location: C:/Program Files/Apache Software Foundation/Tomcat 8.0/bin/Tomcat8.exe
|
||||||
|
|
||||||
If you will face SKIP_IDENTIFIER_CHECK error, refer to:
|
If you will face SKIP_IDENTIFIER_CHECK error, refer to:
|
||||||
http://stackoverflow.com/questions/24546304/how-to-skip-java-reserve-keyword-identifier-check-in-tomcat
|
http://stackoverflow.com/questions/24546304/how-to-skip-java-reserve-keyword-identifier-check-in-tomcat
|
||||||
|
|
@ -436,8 +429,8 @@ Logs
|
||||||
----
|
----
|
||||||
|
|
||||||
Since *LibrePlan 1.1.1* log system is configured automatically creating a new
|
Since *LibrePlan 1.1.1* log system is configured automatically creating a new
|
||||||
folder under ``/var/log/tomcat6/`` with ``.war`` name. For example:
|
folder under ``/var/log/tomcat8/`` with ``.war`` name. For example:
|
||||||
``/var/log/tomcat6/libreplan/``.
|
``/var/log/tomcat8/libreplan/``.
|
||||||
|
|
||||||
Inside this new directory there will be two files (``libreplan.log`` and
|
Inside this new directory there will be two files (``libreplan.log`` and
|
||||||
``libreplan-error.log``) that will be rotated every day.
|
``libreplan-error.log``) that will be rotated every day.
|
||||||
|
|
@ -449,8 +442,8 @@ Anyway if you want to set manually LibrePlan log path you will have to
|
||||||
configure ``JAVA_OPTS`` variable in your server. This variable is configured in
|
configure ``JAVA_OPTS`` variable in your server. This variable is configured in
|
||||||
different files depending on the distribution:
|
different files depending on the distribution:
|
||||||
|
|
||||||
* Debian or Ubuntu: ``/etc/default/tomcat6``
|
* Debian or Ubuntu: ``/etc/default/tomcat8``
|
||||||
* Fedora or openSUSE: ``/etc/tomcat6/tomcat6.conf``
|
* Fedora or openSUSE: ``/etc/tomcat8/tomcat8.conf``
|
||||||
|
|
||||||
Where you will need to add the next line::
|
Where you will need to add the next line::
|
||||||
|
|
||||||
|
|
@ -459,7 +452,7 @@ Where you will need to add the next line::
|
||||||
|
|
||||||
.. WARNING::
|
.. WARNING::
|
||||||
|
|
||||||
You have to be sure that the user running Tomcat (usually ``tomcat6``) has
|
You have to be sure that the user running Tomcat (usually ``tomcat8``) has
|
||||||
permissions to write in the specified directory.
|
permissions to write in the specified directory.
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -512,8 +505,8 @@ In order to avoid this problem you need to configure properly ``JAVA_OPTS``
|
||||||
variable in your server. This is configured in different files depending on the
|
variable in your server. This is configured in different files depending on the
|
||||||
distribution:
|
distribution:
|
||||||
|
|
||||||
* Debian or Ubuntu: ``/etc/default/tomcat6``
|
* Debian or Ubuntu: ``/etc/default/tomcat8``
|
||||||
* Fedora or openSUSE: ``/etc/tomcat6/tomcat6.conf``
|
* Fedora or openSUSE: ``/etc/tomcat8/tomcat8.conf``
|
||||||
|
|
||||||
The next lines show a possible configuration to fix the memory errors (the exact
|
The next lines show a possible configuration to fix the memory errors (the exact
|
||||||
values depends on the server features)::
|
values depends on the server features)::
|
||||||
|
|
|
||||||
|
|
@ -153,7 +153,7 @@ Configure project to run
|
||||||
Configure how to run LibrePlan in Eclipse
|
Configure how to run LibrePlan in Eclipse
|
||||||
|
|
||||||
* Click *Run* and application will be available at
|
* Click *Run* and application will be available at
|
||||||
http://localhost:8080/libreplan-webapp/
|
http://localhost:8080/
|
||||||
|
|
||||||
|
|
||||||
Configure Maven profiles
|
Configure Maven profiles
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ How To Start Development With JetBrains Intellij IDEA
|
||||||
Download LibrePlan source code
|
Download LibrePlan source code
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
* You need to download LibrePlan_ source code to start hacking on it. You have two options:
|
* You need to download LibrePlan source code to start hacking on it. You have two options:
|
||||||
|
|
||||||
a) Clone Git repository (recommended)::
|
a) Clone Git repository (recommended)::
|
||||||
|
|
||||||
|
|
@ -45,7 +45,7 @@ Import LibrePlan project
|
||||||
|
|
||||||
* Select directory with source code of Libreplan
|
* Select directory with source code of Libreplan
|
||||||
|
|
||||||
# e.g. C/Users/PC-User/IdeaProjects/libreplan
|
# e.g. C:/Users/PC-User/IdeaProjects/libreplan
|
||||||
|
|
||||||
* Select *Import project from external model* > *Maven* and click *Next*
|
* Select *Import project from external model* > *Maven* and click *Next*
|
||||||
|
|
||||||
|
|
@ -55,7 +55,7 @@ Import LibrePlan project
|
||||||
|
|
||||||
* Then leave all by default
|
* Then leave all by default
|
||||||
|
|
||||||
* Then choose your JDK(SDK), 1.7 strongly preferred
|
* Then choose your JDK(SDK), 1.8 strongly preferred
|
||||||
|
|
||||||
* Then define project name or leave default name
|
* Then define project name or leave default name
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -158,6 +158,7 @@ public class UserCRUDController extends BaseCRUDController<User> implements IUse
|
||||||
List<UserRole> roles = new ArrayList<>(Arrays.asList(UserRole.values()));
|
List<UserRole> roles = new ArrayList<>(Arrays.asList(UserRole.values()));
|
||||||
roles.remove(UserRole.ROLE_BOUND_USER);
|
roles.remove(UserRole.ROLE_BOUND_USER);
|
||||||
|
|
||||||
|
// Sorting by ASC
|
||||||
Collections.sort(roles, (arg0, arg1) -> _(arg0.getDisplayName()).compareTo(_(arg1.getDisplayName())));
|
Collections.sort(roles, (arg0, arg1) -> _(arg0.getDisplayName()).compareTo(_(arg1.getDisplayName())));
|
||||||
|
|
||||||
for (UserRole role : roles) {
|
for (UserRole role : roles) {
|
||||||
|
|
@ -202,6 +203,10 @@ public class UserCRUDController extends BaseCRUDController<User> implements IUse
|
||||||
|
|
||||||
if (comboItem != null) {
|
if (comboItem != null) {
|
||||||
addRole(comboItem.getValue());
|
addRole(comboItem.getValue());
|
||||||
|
|
||||||
|
userRolesCombo.removeItemAt(comboItem.getIndex());
|
||||||
|
userRolesCombo.setSelectedItem(null);
|
||||||
|
userRolesCombo.setText(null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -212,9 +217,34 @@ public class UserCRUDController extends BaseCRUDController<User> implements IUse
|
||||||
|
|
||||||
public void removeRole(UserRole role) {
|
public void removeRole(UserRole role) {
|
||||||
userModel.removeRole(role);
|
userModel.removeRole(role);
|
||||||
|
|
||||||
|
userRolesCombo.getItems().clear();
|
||||||
|
appendAllUserRolesExcept(UserRole.ROLE_BOUND_USER, userModel.getRoles(), userRolesCombo);
|
||||||
|
|
||||||
Util.reloadBindings(editWindow);
|
Util.reloadBindings(editWindow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Appends the existing UserRoles to the {@link Combobox} passed.
|
||||||
|
*
|
||||||
|
* @param boundUserRole {@link UserRole#ROLE_BOUND_USER} that need to be excluded
|
||||||
|
* @param userRoles a list of {@link UserRole} that need to be excluded
|
||||||
|
* @param combo {@link Combobox} to which a list of user roles will be appended
|
||||||
|
*/
|
||||||
|
private void appendAllUserRolesExcept(UserRole boundUserRole, List<UserRole> userRoles, Combobox combo) {
|
||||||
|
List<UserRole> roles = new ArrayList<>(Arrays.asList(UserRole.values()));
|
||||||
|
roles.remove(boundUserRole);
|
||||||
|
roles.removeAll(userRoles);
|
||||||
|
|
||||||
|
// Sorting by ASC
|
||||||
|
Collections.sort(roles, (arg0, arg1) -> _(arg0.getDisplayName()).compareTo(_(arg1.getDisplayName())));
|
||||||
|
|
||||||
|
for (UserRole role : roles) {
|
||||||
|
Comboitem item = combo.appendItem(_(role.getDisplayName()));
|
||||||
|
item.setValue(role);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public List<Profile> getProfiles() {
|
public List<Profile> getProfiles() {
|
||||||
return userModel.getProfiles();
|
return userModel.getProfiles();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue