diff --git a/server/crm/src/main/java/com/pudonghot/ambition/crm/controller/AbstractBaseController.java b/server/crm/src/main/java/com/pudonghot/ambition/crm/controller/AbstractBaseController.java index 2b5da5e..4c34bb3 100644 --- a/server/crm/src/main/java/com/pudonghot/ambition/crm/controller/AbstractBaseController.java +++ b/server/crm/src/main/java/com/pudonghot/ambition/crm/controller/AbstractBaseController.java @@ -9,9 +9,7 @@ import org.apache.commons.lang3.StringUtils; import java.io.UnsupportedEncodingException; import org.apache.commons.lang3.CharEncoding; import javax.servlet.http.HttpServletRequest; -import com.pudonghot.ambition.crm.common.Constants; import org.springframework.web.multipart.MultipartFile; -import me.chyxion.tigon.exception.InvalidParamException; import org.springframework.validation.annotation.Validated; import org.springframework.web.multipart.MultipartHttpServletRequest; @@ -142,34 +140,4 @@ public abstract class AbstractBaseController { } return null; } - - /** - * @param os - * @param deviceType - * @return - */ - protected String getPlatformByOsAndDeviceType(String os, String deviceType) { - String platform = null; - if (Constants.PHONE.equalsIgnoreCase(deviceType) && - Constants.Android.equalsIgnoreCase(os)) { - platform = Constants.AndroidPhone; - } - else if (Constants.PHONE.equalsIgnoreCase(deviceType) && - Constants.iOS.equalsIgnoreCase(os)) { - platform = Constants.iPhone; - } - else if (Constants.PAD.equalsIgnoreCase(deviceType) && - Constants.Android.equalsIgnoreCase(os)) { - platform = Constants.AndroidPad; - } - else if (Constants.PAD.equalsIgnoreCase(deviceType) && - Constants.iOS.equalsIgnoreCase(os)) { - platform = Constants.iPad; - } - else { - throw new InvalidParamException( - "Unknown Request Device Type [{}] OS [{}]", deviceType, os) ; - } - return platform; - } } diff --git a/server/crm/src/main/java/com/pudonghot/ambition/crm/controller/UserController.java b/server/crm/src/main/java/com/pudonghot/ambition/crm/controller/UserController.java index 23c1fd9..dc1f622 100644 --- a/server/crm/src/main/java/com/pudonghot/ambition/crm/controller/UserController.java +++ b/server/crm/src/main/java/com/pudonghot/ambition/crm/controller/UserController.java @@ -65,8 +65,10 @@ public class UserController */ @Override protected String[] searchCols() { - return new String[] {User.NAME, - User.LOGIN_ID, + return new String[] { + User.NAME, + User.ACCOUNT, + User.EMPLOYEE_ID, User.MOBILE, User.EMAIL, User.NOTE}; diff --git a/server/crm/src/main/java/com/pudonghot/ambition/crm/service/support/UserServiceSupport.java b/server/crm/src/main/java/com/pudonghot/ambition/crm/service/support/UserServiceSupport.java index 188b046..0f60f13 100644 --- a/server/crm/src/main/java/com/pudonghot/ambition/crm/service/support/UserServiceSupport.java +++ b/server/crm/src/main/java/com/pudonghot/ambition/crm/service/support/UserServiceSupport.java @@ -49,7 +49,7 @@ public class UserServiceSupport public ViewModel loginFind(String loginId) { log.info("Find User By [{}].", loginId); User user = null; - for (String field : new String[] {User.LOGIN_ID, User.MOBILE, User.EMAIL}) { + for (String field : new String[] {User.ACCOUNT, User.EMPLOYEE_ID}) { user = mapper.find(new Search(field, loginId).eq(User.ENABLED, true)); if (user != null) { log.info("Found User [{}] By [{}].", user, field); diff --git a/server/crm/src/main/resources/shiro/auth.properties b/server/crm/src/main/resources/shiro/auth.properties index 3b2b3c4..5b9d693 100644 --- a/server/crm/src/main/resources/shiro/auth.properties +++ b/server/crm/src/main/resources/shiro/auth.properties @@ -1,3 +1,4 @@ /auth/login=anon /=anon -/**=user +/codegen=anon +#/**=user diff --git a/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/PermissionMapper.java b/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/PermissionMapper.java deleted file mode 100644 index cae4439..0000000 --- a/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/PermissionMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.pudonghot.ambition.crm.mapper; - -import me.chyxion.tigon.mybatis.BaseMapper; -import com.pudonghot.ambition.crm.model.Permission; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 8:55:27 PM - */ -public interface PermissionMapper extends BaseMapper { - -} diff --git a/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/RoleMapper.java b/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/RoleMapper.java deleted file mode 100644 index 65a7ab1..0000000 --- a/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/RoleMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.pudonghot.ambition.crm.mapper; - -import me.chyxion.tigon.mybatis.BaseMapper; -import com.pudonghot.ambition.crm.model.Role; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 8:55:23 PM - */ -public interface RoleMapper extends BaseMapper { - -} diff --git a/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/RolePermissionMapper.java b/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/RolePermissionMapper.java deleted file mode 100644 index 35cd67c..0000000 --- a/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/RolePermissionMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.pudonghot.ambition.crm.mapper; - -import me.chyxion.tigon.mybatis.BaseMapper; -import com.pudonghot.ambition.crm.model.RolePermission; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 8:55:19 PM - */ -public interface RolePermissionMapper extends BaseMapper { - -} diff --git a/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/UserRoleMapper.java b/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/UserRoleMapper.java deleted file mode 100644 index ff909a9..0000000 --- a/server/mapper/src/main/java/com/pudonghot/ambition/crm/mapper/UserRoleMapper.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.pudonghot.ambition.crm.mapper; - -import me.chyxion.tigon.mybatis.BaseMapper; -import com.pudonghot.ambition.crm.model.UserRole; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 8:55:10 PM - */ -public interface UserRoleMapper extends BaseMapper { - -} diff --git a/server/mapper/src/main/resources/mybatis/mappers/permission-mapper.xml b/server/mapper/src/main/resources/mybatis/mappers/permission-mapper.xml deleted file mode 100644 index 345212f..0000000 --- a/server/mapper/src/main/resources/mybatis/mappers/permission-mapper.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - diff --git a/server/mapper/src/main/resources/mybatis/mappers/role-mapper.xml b/server/mapper/src/main/resources/mybatis/mappers/role-mapper.xml deleted file mode 100644 index ff32cb3..0000000 --- a/server/mapper/src/main/resources/mybatis/mappers/role-mapper.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - diff --git a/server/mapper/src/main/resources/mybatis/mappers/role-permission-mapper.xml b/server/mapper/src/main/resources/mybatis/mappers/role-permission-mapper.xml deleted file mode 100644 index 2db39e6..0000000 --- a/server/mapper/src/main/resources/mybatis/mappers/role-permission-mapper.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - diff --git a/server/mapper/src/main/resources/mybatis/mappers/user-role-mapper.xml b/server/mapper/src/main/resources/mybatis/mappers/user-role-mapper.xml deleted file mode 100644 index 1ab31b0..0000000 --- a/server/mapper/src/main/resources/mybatis/mappers/user-role-mapper.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - diff --git a/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/PermissionMapperTest.java b/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/PermissionMapperTest.java deleted file mode 100644 index 0e7d278..0000000 --- a/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/PermissionMapperTest.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.pudonghot.ambition.crm.mapper; - -import org.junit.Test; -import java.util.Date; -import org.junit.Assert; -import org.junit.runner.RunWith; -import com.pudonghot.ambition.crm.model.Permission; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 8:55:27 PM - */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:spring/spring-*.xml") -public class PermissionMapperTest extends AbstractTransactionalJUnit4SpringContextTests { - @Autowired - private PermissionMapper mapper; - - @Test - public void mapperTest() { - // String id = String.valueOf(new Date().getTime()); - // init model - Permission m = new Permission(); - String id = "id"; - m.setId(id); - m.setDateCreated(new Date()); - m.setName("s"); - m.setPermission("s"); - mapper.insert(m); - Assert.assertTrue(mapper.list(null).size() > 0); - /* - // Your Test Logics - Permission m1 = mapper.find(id); - // asserts - Assert.assertEquals(id, m1.getId()); - Assert.assertEquals("s", m.getName()); - Assert.assertEquals("s", m.getPermission()); - // update - m.setDateUpdated(new Date()); - m.setName("S"); - m.setPermission("S"); - mapper.update(m); - m1 = mapper.find(id); - // asserts - Assert.assertEquals(id, m1.getId()); - Assert.assertNotNull(m1.getDateUpdated()); - Assert.assertEquals("S", m.getName()); - Assert.assertEquals("S", m.getPermission()); - // list - Assert.assertTrue(mapper.list(null).size() > 0); - // delete - mapper.delete(id); - m1 = mapper.find(id); - Assert.assertNull(m1); - */ - } -} diff --git a/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/RoleMapperTest.java b/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/RoleMapperTest.java deleted file mode 100644 index dd6e757..0000000 --- a/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/RoleMapperTest.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.pudonghot.ambition.crm.mapper; - -import org.junit.Assert; -import org.junit.Test; -import java.util.Date; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import com.pudonghot.ambition.crm.mapper.RoleMapper; -import com.pudonghot.ambition.crm.model.Role; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 8:55:23 PM - */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:spring/spring-*.xml") -public class RoleMapperTest extends AbstractTransactionalJUnit4SpringContextTests { - @Autowired - private RoleMapper mapper; - - @Test - public void mapperTest() { - // String id = String.valueOf(new Date().getTime()); - // init model - Role m = new Role(); - String id = "id"; - m.setId(id); - m.setDateCreated(new Date()); - m.setName("s"); - mapper.insert(m); - Assert.assertTrue(mapper.list(null).size() > 0); - /* - // Your Test Logics - Role m1 = mapper.find(id); - // asserts - Assert.assertEquals(id, m1.getId()); - Assert.assertEquals("s", m.getName()); - // update - m.setDateUpdated(new Date()); - m.setName("S"); - mapper.update(m); - m1 = mapper.find(id); - // asserts - Assert.assertEquals(id, m1.getId()); - Assert.assertNotNull(m1.getDateUpdated()); - Assert.assertEquals("S", m.getName()); - // list - Assert.assertTrue(mapper.list(null).size() > 0); - // delete - mapper.delete(id); - m1 = mapper.find(id); - Assert.assertNull(m1); - */ - } -} diff --git a/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/RolePermissionMapperTest.java b/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/RolePermissionMapperTest.java deleted file mode 100644 index d25ef5d..0000000 --- a/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/RolePermissionMapperTest.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.pudonghot.ambition.crm.mapper; - -import org.junit.Assert; -import org.junit.Test; -import java.util.Date; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import com.pudonghot.ambition.crm.mapper.RolePermissionMapper; -import com.pudonghot.ambition.crm.model.RolePermission; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 8:55:19 PM - */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:spring/spring-*.xml") -public class RolePermissionMapperTest extends AbstractTransactionalJUnit4SpringContextTests { - @Autowired - private RolePermissionMapper mapper; - - @Test - public void mapperTest() { - // String id = String.valueOf(new Date().getTime()); - // init model - RolePermission m = new RolePermission(); - String id = "id"; - m.setId(id); - m.setDateCreated(new Date()); - m.setRoleId("s"); - m.setPermissionId("s"); - mapper.insert(m); - Assert.assertTrue(mapper.list(null).size() > 0); - /* - // Your Test Logics - RolePermission m1 = mapper.find(id); - // asserts - Assert.assertEquals(id, m1.getId()); - Assert.assertEquals("s", m.getRoleId()); - Assert.assertEquals("s", m.getPermissionId()); - // update - m.setDateUpdated(new Date()); - m.setRoleId("S"); - m.setPermissionId("S"); - mapper.update(m); - m1 = mapper.find(id); - // asserts - Assert.assertEquals(id, m1.getId()); - Assert.assertNotNull(m1.getDateUpdated()); - Assert.assertEquals("S", m.getRoleId()); - Assert.assertEquals("S", m.getPermissionId()); - // list - Assert.assertTrue(mapper.list(null).size() > 0); - // delete - mapper.delete(id); - m1 = mapper.find(id); - Assert.assertNull(m1); - */ - } -} diff --git a/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/UserMapperTest.java b/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/UserMapperTest.java index fa2faf8..6288dbc 100644 --- a/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/UserMapperTest.java +++ b/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/UserMapperTest.java @@ -31,7 +31,7 @@ public class UserMapperTest extends AbstractTransactionalJUnit4SpringContextTest String id = "id"; m.setId(id); m.setDateCreated(new Date()); - m.setLoginId("s"); + m.setAccount("s"); m.setPassword("s"); m.setMobile("s"); m.setEmail("s"); diff --git a/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/UserRoleMapperTest.java b/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/UserRoleMapperTest.java deleted file mode 100644 index b43876c..0000000 --- a/server/mapper/src/test/java/com/pudonghot/ambition/crm/mapper/UserRoleMapperTest.java +++ /dev/null @@ -1,64 +0,0 @@ -package com.pudonghot.ambition.crm.mapper; - -import org.junit.Assert; -import org.junit.Test; -import java.util.Date; -import org.junit.runner.RunWith; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.junit4.AbstractTransactionalJUnit4SpringContextTests; -import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; -import com.pudonghot.ambition.crm.mapper.UserRoleMapper; -import com.pudonghot.ambition.crm.model.UserRole; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 8:55:10 PM - */ -@RunWith(SpringJUnit4ClassRunner.class) -@ContextConfiguration("classpath*:spring/spring-*.xml") -public class UserRoleMapperTest extends AbstractTransactionalJUnit4SpringContextTests { - @Autowired - private UserRoleMapper mapper; - - @Test - public void mapperTest() { - // String id = String.valueOf(new Date().getTime()); - // init model - UserRole m = new UserRole(); - String id = "id"; - m.setId(id); - m.setDateCreated(new Date()); - m.setUserId("s"); - m.setRoleId("s"); - mapper.insert(m); - Assert.assertTrue(mapper.list(null).size() > 0); - /* - // Your Test Logics - UserRole m1 = mapper.find(id); - // asserts - Assert.assertEquals(id, m1.getId()); - Assert.assertEquals("s", m.getUserId()); - Assert.assertEquals("s", m.getRoleId()); - // update - m.setDateUpdated(new Date()); - m.setUserId("S"); - m.setRoleId("S"); - mapper.update(m); - m1 = mapper.find(id); - // asserts - Assert.assertEquals(id, m1.getId()); - Assert.assertNotNull(m1.getDateUpdated()); - Assert.assertEquals("S", m.getUserId()); - Assert.assertEquals("S", m.getRoleId()); - // list - Assert.assertTrue(mapper.list(null).size() > 0); - // delete - mapper.delete(id); - m1 = mapper.find(id); - Assert.assertNull(m1); - */ - } -} diff --git a/server/model/src/main/java/com/pudonghot/ambition/crm/common/Constants.java b/server/model/src/main/java/com/pudonghot/ambition/crm/common/Constants.java index 52510da..38e8074 100644 --- a/server/model/src/main/java/com/pudonghot/ambition/crm/common/Constants.java +++ b/server/model/src/main/java/com/pudonghot/ambition/crm/common/Constants.java @@ -6,16 +6,5 @@ package com.pudonghot.ambition.crm.common; * Mar 10, 2017 19:26:24 */ public interface Constants { - String PHONE = "PHONE"; - String PAD = "PAD"; - String Android = "Android"; - String iOS = "iOS"; - String AndroidPhone = "AndroidPhone"; - String AndroidPad = "AndroidPad"; - String iPhone = "iPhone"; - String iPad = "iPad"; - String GENDER_M = "M"; - String GENDER_F = "F"; String GENDER_REGEXP = "^M|F$"; - String PLATFORM_REGEXP = "^iPhone|iPad|AndroidPhone|AndroidPad$"; } diff --git a/server/model/src/main/java/com/pudonghot/ambition/crm/form/create/UserFormForCreate.java b/server/model/src/main/java/com/pudonghot/ambition/crm/form/create/UserFormForCreate.java index 92c3ec1..596a8eb 100644 --- a/server/model/src/main/java/com/pudonghot/ambition/crm/form/create/UserFormForCreate.java +++ b/server/model/src/main/java/com/pudonghot/ambition/crm/form/create/UserFormForCreate.java @@ -3,7 +3,6 @@ package com.pudonghot.ambition.crm.form.create; import lombok.Getter; import lombok.Setter; import me.chyxion.tigon.form.FC2; -import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; import org.hibernate.validator.constraints.Email; import org.hibernate.validator.constraints.Length; @@ -24,7 +23,7 @@ public class UserFormForCreate extends FC2 { @NotBlank @Length(max = 36) - private String loginId; + private String account; @NotBlank @Length(max = 36) private String employeeId; @@ -34,16 +33,15 @@ public class UserFormForCreate extends FC2 { @NotBlank @Length(max = 36) private String name; + @Length(max = 36) + private String enName; @NotBlank @Pattern(regexp = GENDER_REGEXP) private String gender; - @NotBlank @Length(max = 16) private String mobile; @Email - @NotBlank @Length(max = 64) private String email; - @NotNull - private Boolean admin; + private boolean admin; } diff --git a/server/model/src/main/java/com/pudonghot/ambition/crm/form/update/UserFormForUpdate.java b/server/model/src/main/java/com/pudonghot/ambition/crm/form/update/UserFormForUpdate.java index cc1dff6..fae2bcc 100644 --- a/server/model/src/main/java/com/pudonghot/ambition/crm/form/update/UserFormForUpdate.java +++ b/server/model/src/main/java/com/pudonghot/ambition/crm/form/update/UserFormForUpdate.java @@ -5,6 +5,7 @@ import lombok.Setter; import me.chyxion.tigon.form.FU2; import javax.validation.constraints.NotNull; import javax.validation.constraints.Pattern; +import me.chyxion.tigon.format.annotation.Trim; import org.hibernate.validator.constraints.Email; import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.NotBlank; @@ -23,26 +24,34 @@ import static com.pudonghot.ambition.crm.common.Constants.GENDER_REGEXP; public class UserFormForUpdate extends FU2 { private static final long serialVersionUID = 1L; + @Trim @NotBlank @Length(max = 36) private String name; + @Trim + @EmptyToNull + @Length(max = 36) + private String enName; + @Trim @NotBlank @Length(max = 36) private String employeeId; + @Trim @NotBlank @Pattern(regexp = GENDER_REGEXP) private String gender; @EmptyToNull @Length(max = 36) protected String password; + @Trim @NotBlank // @Pattern(regexp = MOBILE_REGEXP) @Length(max = 16) private String mobile; + @Trim @Email - @NotBlank @Length(max = 128) private String email; @NotNull - private Boolean admin; + private boolean admin; } diff --git a/server/model/src/main/java/com/pudonghot/ambition/crm/model/Contact.java b/server/model/src/main/java/com/pudonghot/ambition/crm/model/Contact.java deleted file mode 100644 index c7b6e34..0000000 --- a/server/model/src/main/java/com/pudonghot/ambition/crm/model/Contact.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.pudonghot.ambition.crm.model; - -import lombok.Getter; -import lombok.Setter; -import me.chyxion.tigon.mybatis.Table; -import me.chyxion.tigon.model.M3; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 8:44:24 PM - */ -@Getter -@Setter -@Table("crm_contact") -public class Contact extends M3 { - private static final long serialVersionUID = 1L; - - // Column Names - public static final String MOBILE = "mobile"; - public static final String TELPHONE = "telphone"; - public static final String EMAIL = "email"; - public static final String NAME = "name"; - public static final String GENDER = "gender"; - public static final String ADDRESS = "address"; - - // Properties - private String mobile; - private String telphone; - private String email; - private String name; - private String gender; - private String address; - -} diff --git a/server/model/src/main/java/com/pudonghot/ambition/crm/model/Customer.java b/server/model/src/main/java/com/pudonghot/ambition/crm/model/Customer.java index 13d3847..acb3bb8 100644 --- a/server/model/src/main/java/com/pudonghot/ambition/crm/model/Customer.java +++ b/server/model/src/main/java/com/pudonghot/ambition/crm/model/Customer.java @@ -9,7 +9,7 @@ import me.chyxion.tigon.model.M3; * @version 0.0.1 * @author Auto Generated
* Tech Support Shaun Chyxion
- * Jun 7, 2017 8:44:19 PM + * Jun 19, 2017 10:25:29 PM */ @Getter @Setter @@ -18,19 +18,23 @@ public class Customer extends M3 { private static final long serialVersionUID = 1L; // Column Names - public static final String MOBILE = "mobile"; - public static final String TELPHONE = "telphone"; - public static final String EMAIL = "email"; + public static final String SALESPERSON = "salesperson"; public static final String NAME = "name"; - public static final String GENDER = "gender"; - public static final String ADDRESS = "address"; + public static final String COUNTRY_CODE = "country_code"; + public static final String STATE = "state"; + public static final String CITY = "city"; + public static final String MS = "ms"; + public static final String REGION = "region"; + public static final String LEVEL = "level"; // Properties - private String mobile; - private String telphone; - private String email; + private String salesperson; private String name; - private String gender; - private String address; + private String countryCode; + private String state; + private String city; + private String ms; + private String region; + private String level; } diff --git a/server/model/src/main/java/com/pudonghot/ambition/crm/model/Permission.java b/server/model/src/main/java/com/pudonghot/ambition/crm/model/Permission.java deleted file mode 100644 index 80be019..0000000 --- a/server/model/src/main/java/com/pudonghot/ambition/crm/model/Permission.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.pudonghot.ambition.crm.model; - -import lombok.Getter; -import lombok.Setter; -import me.chyxion.tigon.mybatis.Table; -import me.chyxion.tigon.model.M3; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 8:45:38 PM - */ -@Getter -@Setter -@Table("crm_permission") -public class Permission extends M3 { - private static final long serialVersionUID = 1L; - - // Column Names - public static final String NAME = "name"; - public static final String PERMISSION = "permission"; - - // Properties - private String name; - private String permission; - -} diff --git a/server/model/src/main/java/com/pudonghot/ambition/crm/model/Role.java b/server/model/src/main/java/com/pudonghot/ambition/crm/model/Role.java deleted file mode 100644 index 78d2610..0000000 --- a/server/model/src/main/java/com/pudonghot/ambition/crm/model/Role.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.pudonghot.ambition.crm.model; - -import lombok.Getter; -import lombok.Setter; -import me.chyxion.tigon.mybatis.Table; -import me.chyxion.tigon.model.M3; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 8:44:01 PM - */ -@Getter -@Setter -@Table("crm_role") -public class Role extends M3 { - private static final long serialVersionUID = 1L; - - // Column Names - public static final String NAME = "name"; - - // Properties - private String name; - -} diff --git a/server/model/src/main/java/com/pudonghot/ambition/crm/model/RolePermission.java b/server/model/src/main/java/com/pudonghot/ambition/crm/model/RolePermission.java deleted file mode 100644 index 28699f9..0000000 --- a/server/model/src/main/java/com/pudonghot/ambition/crm/model/RolePermission.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.pudonghot.ambition.crm.model; - -import lombok.Getter; -import lombok.Setter; -import me.chyxion.tigon.mybatis.Table; -import me.chyxion.tigon.model.M3; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 8:45:31 PM - */ -@Getter -@Setter -@Table("crm_role_permission") -public class RolePermission extends M3 { - private static final long serialVersionUID = 1L; - - // Column Names - public static final String ROLE_ID = "role_id"; - public static final String PERMISSION_ID = "permission_id"; - - // Properties - private String roleId; - private String permissionId; - -} diff --git a/server/model/src/main/java/com/pudonghot/ambition/crm/model/User.java b/server/model/src/main/java/com/pudonghot/ambition/crm/model/User.java index 976375c..faffc81 100644 --- a/server/model/src/main/java/com/pudonghot/ambition/crm/model/User.java +++ b/server/model/src/main/java/com/pudonghot/ambition/crm/model/User.java @@ -20,7 +20,7 @@ public class User extends M3 { private static final long serialVersionUID = 1L; // Column Names - public static final String LOGIN_ID = "login_id"; + public static final String ACCOUNT = "account"; public static final String EMPLOYEE_ID = "employee_id"; public static final String PASSWORD = "password"; public static final String MOBILE = "mobile"; @@ -30,7 +30,7 @@ public class User extends M3 { public static final String ADMIN = "admin"; // Properties - private String loginId; + private String account; private String employeeId; @NotUpdateWhenNull @JSONField(serialize = false) @@ -38,6 +38,7 @@ public class User extends M3 { private String mobile; private String email; private String name; + private String enName; private String gender; private boolean admin; } diff --git a/server/model/src/main/java/com/pudonghot/ambition/crm/model/UserRole.java b/server/model/src/main/java/com/pudonghot/ambition/crm/model/UserRole.java deleted file mode 100644 index 0e52b64..0000000 --- a/server/model/src/main/java/com/pudonghot/ambition/crm/model/UserRole.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.pudonghot.ambition.crm.model; - -import lombok.Getter; -import lombok.Setter; -import me.chyxion.tigon.mybatis.Table; -import me.chyxion.tigon.model.M3; - -/** - * @version 0.0.1 - * @author Auto Generated
- * Tech Support Shaun Chyxion
- * Jun 7, 2017 9:00:27 PM - */ -@Getter -@Setter -@Table("crm_user_role") -public class UserRole extends M3 { - private static final long serialVersionUID = 1L; - - // Column Names - public static final String USER_ID = "user_id"; - public static final String ROLE_ID = "role_id"; - - // Properties - private String userId; - private String roleId; - -} diff --git a/web/README.md b/web/README.md index 40ef6c4..6a873a6 100644 --- a/web/README.md +++ b/web/README.md @@ -117,4 +117,6 @@ Install JQuery HotKeys Install Bootstrap WYSIWYG bower install bootstrap-wysiwyg -bower install bootstrap-treeview \ No newline at end of file +bower install bootstrap-treeview + +ember install ember-radio-button diff --git a/web/app/components/breadcrumbs-bar.js b/web/app/components/breadcrumbs-bar.js index 6b6671a..d7dc001 100644 --- a/web/app/components/breadcrumbs-bar.js +++ b/web/app/components/breadcrumbs-bar.js @@ -1,5 +1,26 @@ import Ember from 'ember'; +import BaseComponentMixin from '../mixins/components/base-component'; -export default Ember.Component.extend({ - classNames: ['breadcrumbs'] +export default Ember.Component.extend(BaseComponentMixin, { + // breadcrumbs: Ember.computed.alias('route.breadcrumbs'), + breadcrumbs: Ember.computed('route', function() { + let me = this; + let breadcrumbs = this.get('route.breadcrumbs'); + if (!breadcrumbs) { + let routeName = me.get('routeName'); + if (/\.index$/.test(routeName)) { + let route = me.getRoute(routeName.replace(/\.index$/, '')); + if (route) { + breadcrumbs = route.get('breadcrumbs'); + } + } + } + Ember.Logger.info('Breadcrumbs: ', breadcrumbs); + return breadcrumbs; + }), + tabName: 'ul', + classNames: ['breadcrumb'], + didInsertElement() { + console.log('breadcrumbs: ', this); + } }); diff --git a/web/app/components/form-content.js b/web/app/components/form-content.js index 7b9fd51..a694856 100644 --- a/web/app/components/form-content.js +++ b/web/app/components/form-content.js @@ -1,5 +1,5 @@ import Ember from 'ember'; export default Ember.Component.extend({ - classNames: ['page-content'] + classNames: ['widget-box'] }); diff --git a/web/app/components/form-footer-buttons.js b/web/app/components/form-footer-buttons.js index 2bb94c6..0fec4a5 100644 --- a/web/app/components/form-footer-buttons.js +++ b/web/app/components/form-footer-buttons.js @@ -2,7 +2,7 @@ import Ember from 'ember'; import BaseComponent from './base-component'; export default BaseComponent.extend({ - classNames: ['form-actions', 'center', 'no-margin-bottom'], + classNames: ['wizard-actions'], type: 'create', form: true, didReceiveAttrs() { diff --git a/web/app/components/form-input-errors-msg.js b/web/app/components/form-input-errors-msg.js index 590fc4c..826631b 100644 --- a/web/app/components/form-input-errors-msg.js +++ b/web/app/components/form-input-errors-msg.js @@ -2,5 +2,5 @@ import Ember from 'ember'; import BaseFormInput from './base-form-input'; export default BaseFormInput.extend({ - classNames: ['inline'] + classNames: ['help-block', 'col-xs-12', 'col-sm-reset', 'inline'] }); diff --git a/web/app/components/form-input.js b/web/app/components/form-input.js index fa97f35..c03a9bd 100644 --- a/web/app/components/form-input.js +++ b/web/app/components/form-input.js @@ -12,7 +12,7 @@ export default BaseFormInput.extend({ let me = this; let isFile = me.get('type') === 'file'; !me.get('inputClass') && - me.set('inputClass', isFile ? 'col-xs-3' : 'col-xs-4'); + me.set('inputClass', isFile ? 'col-xs-3' : 'col-xs-12 col-sm-5'); let image = me.get('image'); if (isFile && image) { me.set('imageUrl', me.get('model.' + image)); diff --git a/web/app/initializers/application.js b/web/app/initializers/application.js index 90c447c..830b721 100644 --- a/web/app/initializers/application.js +++ b/web/app/initializers/application.js @@ -5,6 +5,7 @@ export function initialize(app) { app.inject('route', 'message', 'service:message'); app.inject('route', 'dialog', 'service:dialog'); app.inject('route', 'router', 'router:main'); + // controller app.inject('controller', 'ajax', 'service:ajax'); app.inject('controller', 'store', 'service:store'); diff --git a/web/app/routes/user/create.js b/web/app/routes/user/create.js index 498fe18..92df0a9 100644 --- a/web/app/routes/user/create.js +++ b/web/app/routes/user/create.js @@ -2,7 +2,11 @@ import Ember from 'ember'; import BaseRoute from '../base'; export default BaseRoute.extend({ + breadcrumbs: [{route: 'user.list', params: 1, text: '用户列表'}, {text: '创建用户'}], model() { - return {}; + return { + gender: 'M', + enabled: true + }; } }); diff --git a/web/app/routes/user/list.js b/web/app/routes/user/list.js index 275fb24..700d61d 100644 --- a/web/app/routes/user/list.js +++ b/web/app/routes/user/list.js @@ -2,6 +2,7 @@ import Ember from 'ember'; import BaseListRoute from './../base-list'; export default BaseListRoute.extend({ + breadcrumbs: [{text: '用户列表'}], actions: { sort(col) { Ember.Logger.info('sort: ', col); diff --git a/web/app/services/user/service.js b/web/app/services/user/service.js index 1f9aa59..02e1c6e 100644 --- a/web/app/services/user/service.js +++ b/web/app/services/user/service.js @@ -4,13 +4,35 @@ import BaseService from '../service'; export default BaseService.extend({ modelName: 'User', createConstraints: { - mobile: { + account: { presence: true, length: { minimum: 1, maximum: 36 } }, + employeeId: { + presence: true, + length: { + minimum: 1, + maximum: 36 + } + }, + name: { + presence: true, + length: { + minimum: 1, + maximum: 16 + } + }, + enName: { + length: { + maximum: 36 + } + }, + email: { + email: true + }, password: { presence: true, length: { @@ -19,6 +41,7 @@ export default BaseService.extend({ } }, confirmPassword: { + presence: true, equality: 'password' } } diff --git a/web/app/templates/components/breadcrumbs-bar.hbs b/web/app/templates/components/breadcrumbs-bar.hbs index 5d7a742..d943719 100644 --- a/web/app/templates/components/breadcrumbs-bar.hbs +++ b/web/app/templates/components/breadcrumbs-bar.hbs @@ -1,7 +1,19 @@ - +
  • + + 首页 +
  • +{{log breadcrumbs}} +{{#each breadcrumbs as |breadcrumb|}} +
  • + {{#if breadcrumb.icon}} + + {{/if}} + {{#if breadcrumb.route}} + {{#link-to breadcrumb.route breadcrumb.params}} + {{breadcrumb.text}} + {{/link-to}} + {{else}} + {{breadcrumb.text}} + {{/if}} +
  • +{{/each}} \ No newline at end of file diff --git a/web/app/templates/components/form-content.hbs b/web/app/templates/components/form-content.hbs index 9174e00..94c10aa 100644 --- a/web/app/templates/components/form-content.hbs +++ b/web/app/templates/components/form-content.hbs @@ -1,13 +1,7 @@ -
    -
    -
    -
    -
    -
    - {{yield}} -
    -
    -
    -
    +
    +
    +
    + {{yield}} +
    diff --git a/web/app/templates/components/form-footer-buttons.hbs b/web/app/templates/components/form-footer-buttons.hbs index 17270b5..3078189 100644 --- a/web/app/templates/components/form-footer-buttons.hbs +++ b/web/app/templates/components/form-footer-buttons.hbs @@ -1,9 +1,9 @@ - - - diff --git a/web/app/templates/components/form-input-errors-msg.hbs b/web/app/templates/components/form-input-errors-msg.hbs index 80fd5b8..a7bf3e9 100644 --- a/web/app/templates/components/form-input-errors-msg.hbs +++ b/web/app/templates/components/form-input-errors-msg.hbs @@ -1,3 +1,3 @@ {{#each (get errors name) as |msg|}} -
    {{msg}}
    -{{/each}} \ No newline at end of file + {{msg}} +{{/each}} diff --git a/web/app/templates/components/form-input.hbs b/web/app/templates/components/form-input.hbs index 303157a..bad47e2 100644 --- a/web/app/templates/components/form-input.hbs +++ b/web/app/templates/components/form-input.hbs @@ -1,5 +1,8 @@ - + +
    + + {{#if hasBlock}} {{yield}} {{else}} @@ -12,7 +15,7 @@ class='form-control' placeholder=(if placeholder placeholder label)}} {{else}} - {{input class='col-xs-12' + {{input class='col-xs-12 width-100' type=type readonly=readonly name=name @@ -26,4 +29,4 @@ {{image-previews previews=imageUrl}}
    {{/if}} -{{form-input-errors-msg name=name}} \ No newline at end of file +{{form-input-errors-msg name=name}} diff --git a/web/app/templates/components/main-container.hbs b/web/app/templates/components/main-container.hbs index ae03f4e..2bd3a86 100644 --- a/web/app/templates/components/main-container.hbs +++ b/web/app/templates/components/main-container.hbs @@ -2,26 +2,25 @@