diff --git a/ganttzk/src/main/resources/web/js/ganttz/DependencyComponent.js b/ganttzk/src/main/resources/web/js/ganttz/DependencyComponent.js
index cd1d7b42a..583366b0e 100644
--- a/ganttzk/src/main/resources/web/js/ganttz/DependencyComponent.js
+++ b/ganttzk/src/main/resources/web/js/ganttz/DependencyComponent.js
@@ -118,7 +118,6 @@ ganttz.DependencyComponentBase = zk.$extends(zul.Widget,{
var deparrow = this._findImageElement('arrow');
- deparrow.attr('src', this.$class.getImagesDir() + "arrow3.png");
deparrow.css({top : yend - 5, left : xend - 8});
},
_drawArrowEndStart : function(coordOrig, coordDest){
@@ -155,23 +154,18 @@ ganttz.DependencyComponentBase = zk.$extends(zul.Widget,{
depend.css(dependcss);
var deparrow = this._findImageElement('arrow');
- var deparrowsrc, deparrowcss;
+ var deparrowcss;
if ( width == 0 ) {
deparrowcss = {top : (yend - 10) , left : (xend - 5)};
- deparrowsrc = this.$class.getImagesDir() + "arrow2.png";
if ( yorig > yend ) {
deparrowcss = {top : yend};
- deparrowsrc = this.$class.getImagesDir() + "arrow4.png";
}
} else {
deparrowcss = {top : (yend -5), left : (xend - 10)};
- deparrowsrc = this.$class.getImagesDir() + "arrow.png";
if (width < 0) {
deparrowcss = {top : (yend - 5), left : xend}
- deparrowsrc = this.$class.getImagesDir() + "arrow3.png";
}
}
- deparrow.attr('src', deparrowsrc);
deparrow.css(deparrowcss);
},
findPos_ : function(element){
@@ -180,22 +174,18 @@ ganttz.DependencyComponentBase = zk.$extends(zul.Widget,{
return {left : (pos2.left - pos1.left), top : (pos2.top - pos1.top)};
},
_findImageElement : function(name) {
- var img = jq('.' + name + '', this.$n());
- return img;
+ return jq('.' + name + '', this.$n());
},
setupArrow_ : function(){
var image_data = [ [ "start", "pixel.gif" ], [ "mid", "pixel.gif" ],
[ "end", "pixel.gif" ], [ "arrow", "arrow.png" ] ];
- var img;
+ var imgDiv;
var insertPoint = jq(this.$n());
for ( var i = 0; i < image_data.length; i++) {
- img = jq(document.createElement('img'));
- img.attr({
- 'class' : image_data[i][0] + " extra_padding",
- 'src' : this.$class.getImagesDir() + image_data[i][1]
- });
+ imgDiv = jq(document.createElement('div'));
+ imgDiv.attr('class', image_data[i][0] + " extra_padding");
- insertPoint.append(img);
+ insertPoint.append(imgDiv);
}
}
},{
@@ -342,4 +332,4 @@ ganttz.UnlinkedDependencyComponent = zk.$extends(ganttz.DependencyComponentBase,
zk.afterLoad('ganttz',function(){
ganttz.UnlinkedDependencyComponent.molds = ganttz.DependencyComponent.molds;
-})
\ No newline at end of file
+})
diff --git a/navalplanner-business/src/main/java/org/navalplanner/business/users/entities/User.java b/navalplanner-business/src/main/java/org/navalplanner/business/users/entities/User.java
index cfa09f4b4..e2b0d66dc 100644
--- a/navalplanner-business/src/main/java/org/navalplanner/business/users/entities/User.java
+++ b/navalplanner-business/src/main/java/org/navalplanner/business/users/entities/User.java
@@ -68,6 +68,10 @@ public class User extends BaseEntity {
private boolean expandResourceLoadViewCharts = true;
+ private String firstName = "";
+
+ private String lastName = "";
+
/**
* Necessary for Hibernate. Please, do not call it.
*/
@@ -255,4 +259,20 @@ public class User extends BaseEntity {
this.expandCompanyPlanningViewCharts = expandCompanyPlanningViewCharts;
}
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getLastName() {
+ return lastName;
+ }
+
+ public void setLastName(String lastName) {
+ this.lastName = lastName;
+ }
+
}
diff --git a/navalplanner-business/src/main/resources/db.changelog-1.1.xml b/navalplanner-business/src/main/resources/db.changelog-1.1.xml
index d18999006..647916fea 100644
--- a/navalplanner-business/src/main/resources/db.changelog-1.1.xml
+++ b/navalplanner-business/src/main/resources/db.changelog-1.1.xml
@@ -201,4 +201,14 @@
+
+ Add new column to store the first and last name for this user
+
+
+
+
+
+
+
+
diff --git a/navalplanner-business/src/main/resources/org/navalplanner/business/users/entities/Users.hbm.xml b/navalplanner-business/src/main/resources/org/navalplanner/business/users/entities/Users.hbm.xml
index b4bc37f9c..2ba4f91ba 100644
--- a/navalplanner-business/src/main/resources/org/navalplanner/business/users/entities/Users.hbm.xml
+++ b/navalplanner-business/src/main/resources/org/navalplanner/business/users/entities/Users.hbm.xml
@@ -36,6 +36,8 @@
column="expand_order_planning_view_charts" />
+
+
diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/CustomMenuController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/CustomMenuController.java
index 7678c4d23..716d9ec62 100644
--- a/navalplanner-webapp/src/main/java/org/navalplanner/web/common/CustomMenuController.java
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/common/CustomMenuController.java
@@ -340,7 +340,7 @@ public class CustomMenuController extends Div implements IMenuItemsRegister {
subItem(_("Materials Needs At Date"),"/reports/timeLineMaterialReport.zul","15-informes.html"));
topItem(_("My account"), "", "",
- subItem(_("Settings"), "/users/settings.zul", ""));
+ subItem(_("Settings"), "/settings/settings.zul", ""));
}
private Vbox getRegisteredItemsInsertionPoint() {
diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/users/ISettingsModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/users/settings/ISettingsModel.java
similarity index 90%
rename from navalplanner-webapp/src/main/java/org/navalplanner/web/users/ISettingsModel.java
rename to navalplanner-webapp/src/main/java/org/navalplanner/web/users/settings/ISettingsModel.java
index 6a6afbb3c..ee9c9334b 100644
--- a/navalplanner-webapp/src/main/java/org/navalplanner/web/users/ISettingsModel.java
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/users/settings/ISettingsModel.java
@@ -16,11 +16,10 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.navalplanner.web.users;
+package org.navalplanner.web.users.settings;
import org.navalplanner.business.common.exceptions.ValidationException;
import org.navalplanner.business.users.entities.Language;
-import org.navalplanner.business.users.entities.User;
/**
* Model for UI operations related to user settings
@@ -51,4 +50,12 @@ public interface ISettingsModel {
boolean isExpandCompanyPlanningViewCharts();
+ void setLastName(String lastName);
+
+ String getLastName();
+
+ void setFirstName(String firstName);
+
+ String getFirstName();
+
}
diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/users/SettingsController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/users/settings/SettingsController.java
similarity index 91%
rename from navalplanner-webapp/src/main/java/org/navalplanner/web/users/SettingsController.java
rename to navalplanner-webapp/src/main/java/org/navalplanner/web/users/settings/SettingsController.java
index ab749eaed..4ea09d9ea 100644
--- a/navalplanner-webapp/src/main/java/org/navalplanner/web/users/SettingsController.java
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/users/settings/SettingsController.java
@@ -17,7 +17,7 @@
* along with this program. If not, see .
*/
-package org.navalplanner.web.users;
+package org.navalplanner.web.users.settings;
import static org.navalplanner.web.I18nHelper._;
@@ -126,4 +126,20 @@ public class SettingsController extends GenericForwardComposer {
return settingsModel.isExpandResourceLoadViewCharts();
}
+ public String getFirstName() {
+ return settingsModel.getFirstName();
+ }
+
+ public void setFirstName(String firstName) {
+ settingsModel.setFirstName(firstName);
+ }
+
+ public String getLastName() {
+ return settingsModel.getLastName();
+ }
+
+ public void setLastName(String lastName) {
+ settingsModel.setLastName(lastName);
+ }
+
}
diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/users/SettingsModel.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/users/settings/SettingsModel.java
similarity index 90%
rename from navalplanner-webapp/src/main/java/org/navalplanner/web/users/SettingsModel.java
rename to navalplanner-webapp/src/main/java/org/navalplanner/web/users/settings/SettingsModel.java
index 58ec1234e..13177865b 100644
--- a/navalplanner-webapp/src/main/java/org/navalplanner/web/users/SettingsModel.java
+++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/users/settings/SettingsModel.java
@@ -16,9 +16,8 @@
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see .
*/
-package org.navalplanner.web.users;
+package org.navalplanner.web.users.settings;
-import org.apache.commons.lang.Validate;
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
import org.navalplanner.business.common.exceptions.ValidationException;
import org.navalplanner.business.users.daos.IUserDAO;
@@ -42,7 +41,7 @@ import org.springframework.transaction.annotation.Transactional;
*/
@Service
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
-@OnConcurrentModification(goToPage = "/users/settings.zul")
+@OnConcurrentModification(goToPage = "/settings/settings.zul")
public class SettingsModel implements ISettingsModel {
@Autowired
@@ -146,4 +145,28 @@ public class SettingsModel implements ISettingsModel {
}
}
+ @Override
+ public String getFirstName() {
+ return user.getFirstName();
+ }
+
+ @Override
+ public void setFirstName(String firstName) {
+ if (user != null) {
+ user.setFirstName(firstName);
+ }
+ }
+
+ @Override
+ public String getLastName() {
+ return user.getLastName();
+ }
+
+ @Override
+ public void setLastName(String lastName) {
+ if (user != null) {
+ user.setLastName(lastName);
+ }
+ }
+
}
diff --git a/navalplanner-webapp/src/main/webapp/common/layout/template.zul b/navalplanner-webapp/src/main/webapp/common/layout/template.zul
index f8206d1cf..04a513590 100644
--- a/navalplanner-webapp/src/main/webapp/common/layout/template.zul
+++ b/navalplanner-webapp/src/main/webapp/common/layout/template.zul
@@ -114,7 +114,7 @@ signature="java.lang.Boolean isDefaultPasswordsControl()"?>
-
+
diff --git a/navalplanner-webapp/src/main/webapp/users/settings.zul b/navalplanner-webapp/src/main/webapp/settings/settings.zul
similarity index 78%
rename from navalplanner-webapp/src/main/webapp/users/settings.zul
rename to navalplanner-webapp/src/main/webapp/settings/settings.zul
index de0436524..a36ae5daf 100644
--- a/navalplanner-webapp/src/main/webapp/users/settings.zul
+++ b/navalplanner-webapp/src/main/webapp/settings/settings.zul
@@ -29,7 +29,7 @@
@@ -40,7 +40,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/navalplanner-webapp/src/main/webapp/users/_editUser.zul b/navalplanner-webapp/src/main/webapp/users/_editUser.zul
index 60bf1af6a..0b85450fb 100644
--- a/navalplanner-webapp/src/main/webapp/users/_editUser.zul
+++ b/navalplanner-webapp/src/main/webapp/users/_editUser.zul
@@ -43,6 +43,16 @@
value="@{controller.user.loginName}" width="300px"
constraint="no empty:${i18n:_('cannot be null or empty')}"/>
+
+
+
+
+
+
+
+