shopizer-uncached

Fixed admin controllers

12/8/2016 3:39:52 PM

Details

diff --git a/sm-shop/SALESMANAGER.h2.db b/sm-shop/SALESMANAGER.h2.db
index 5c69647..dacc6eb 100644
Binary files a/sm-shop/SALESMANAGER.h2.db and b/sm-shop/SALESMANAGER.h2.db differ
diff --git a/sm-shop/SALESMANAGER.lock.db b/sm-shop/SALESMANAGER.lock.db
index a70ca21..2f68b46 100644
--- a/sm-shop/SALESMANAGER.lock.db
+++ b/sm-shop/SALESMANAGER.lock.db
@@ -1,4 +1,4 @@
 #FileLock
-#Wed Dec 07 12:54:00 EST 2016
-id=158da6ba84f0de30e9d2ccdf431a8bbe31bdde9e97f
+#Thu Dec 08 12:38:28 EST 2016
+id=158df83ca80aeb17cb3ffcbaef6ad0a3e5e72f8c1a2
 method=file
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/ContentImageController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/ContentImageController.java
index 73187d1..e42ae42 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/ContentImageController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/ContentImageController.java
@@ -14,6 +14,10 @@ import org.apache.commons.collections4.CollectionUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -90,8 +94,8 @@ public class ContentImageController {
 	
 	@SuppressWarnings({ "unchecked"})
 	@PreAuthorize("hasRole('CONTENT')")
-	@RequestMapping(value="/admin/content/images/paging.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String pageImages(HttpServletRequest request, HttpServletResponse response) {
+	@RequestMapping(value="/admin/content/images/paging.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> pageImages(HttpServletRequest request, HttpServletResponse response) {
 		AjaxResponse resp = new AjaxResponse();
 
 		try {
@@ -125,8 +129,9 @@ public class ContentImageController {
 		}
 		
 		String returnString = resp.toJSONString();
-		
-		return returnString;
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 	}
 	
 	/**
@@ -209,8 +214,8 @@ public class ContentImageController {
 	 * @return
 	 */
 	@PreAuthorize("hasRole('CONTENT')")
-	@RequestMapping(value="/admin/content/removeImage.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String removeImage(HttpServletRequest request, HttpServletResponse response, Locale locale) {
+	@RequestMapping(value="/admin/content/removeImage.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> removeImage(HttpServletRequest request, HttpServletResponse response, Locale locale) {
 		String imageName = request.getParameter("name");
 
 		MerchantStore store = (MerchantStore)request.getAttribute(Constants.ADMIN_STORE);
@@ -233,8 +238,9 @@ public class ContentImageController {
 		}
 		
 		String returnString = resp.toJSONString();
-		
-		return returnString;
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 	}
 	
 	private void setMenu(Model model, HttpServletRequest request) throws Exception {
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/ContentPagesController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/ContentPagesController.java
index bf99176..4ba32e8 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/ContentPagesController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/ContentPagesController.java
@@ -14,6 +14,10 @@ import com.salesmanager.shop.constants.Constants;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -128,13 +132,15 @@ public class ContentPagesController {
 	
 	
 	@PreAuthorize("hasRole('CONTENT')")
-	@RequestMapping(value="/admin/content/remove.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String removeContent(HttpServletRequest request, HttpServletResponse response, Locale locale) {
+	@RequestMapping(value="/admin/content/remove.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> removeContent(HttpServletRequest request, HttpServletResponse response, Locale locale) {
 		String id = request.getParameter("id");
 
 		MerchantStore store = (MerchantStore)request.getAttribute(Constants.ADMIN_STORE);
 		
 		AjaxResponse resp = new AjaxResponse();
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
 
 		
 		try {
@@ -147,12 +153,14 @@ public class ContentPagesController {
 			if(dbContent==null) {
 				LOGGER.error("Invalid content id ", id);
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			if(dbContent!=null && dbContent.getMerchantStore().getId().intValue()!= store.getId().intValue()) {
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			contentService.delete(dbContent);
@@ -166,15 +174,14 @@ public class ContentPagesController {
 		}
 		
 		String returnString = resp.toJSONString();
-		
-		return returnString;
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 	}
 	
 	
 	@SuppressWarnings({ "unchecked"})
 	@PreAuthorize("hasRole('CONTENT')")
-	@RequestMapping(value="/admin/content/page.html", method=RequestMethod.POST, produces="application/json;charset=UTF-8")
-	public @ResponseBody String pageStaticContent(@RequestParam("contentType") String contentType, HttpServletRequest request, HttpServletResponse response) {
+	@RequestMapping(value="/admin/content/page.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> pageStaticContent(@RequestParam("contentType") String contentType, HttpServletRequest request, HttpServletResponse response) {
 		AjaxResponse resp = new AjaxResponse();
 
 		try {
@@ -226,8 +233,9 @@ public class ContentPagesController {
 		}
 		
 		String returnString = resp.toJSONString();
-		
-		return returnString;
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 	}
 	
 	
@@ -277,25 +285,22 @@ public class ContentPagesController {
 	 * @return
 	 */
 	@PreAuthorize("hasRole('CONTENT')")
-	@RequestMapping(value="/admin/content/checkContentCode.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String checkContentCode(HttpServletRequest request, HttpServletResponse response, Locale locale) {
+	@RequestMapping(value="/admin/content/checkContentCode.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> checkContentCode(HttpServletRequest request, HttpServletResponse response, Locale locale) {
 		
 		String code = request.getParameter("code");
 		String id = request.getParameter("id");
-		
-		
-
 
 		MerchantStore store = (MerchantStore)request.getAttribute(Constants.ADMIN_STORE);
-		
-		
-		
-		
+
 		AjaxResponse resp = new AjaxResponse();
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
 		
 		   if(StringUtils.isBlank(code)) {
 				resp.setStatus(AjaxResponse.CODE_ALREADY_EXIST);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 		   }
 		
 		try {
@@ -309,17 +314,20 @@ public class ContentPagesController {
 				
 				if(content!=null && content.getCode().equals(code) && content.getId().longValue()==lid) {
 					resp.setStatus(AjaxResponse.RESPONSE_STATUS_SUCCESS);
-					return resp.toJSONString();
+					String returnString = resp.toJSONString();
+					return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 				}
 			} catch (Exception e) {
 				resp.setStatus(AjaxResponse.CODE_ALREADY_EXIST);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 
 		} else {
 			if(content!=null) {
 				resp.setStatus(AjaxResponse.CODE_ALREADY_EXIST);
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 		}
 
@@ -334,8 +342,7 @@ public class ContentPagesController {
 		}
 		
 		String returnString = resp.toJSONString();
-		
-		return returnString;
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 	}
 	
 	
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/StaticContentController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/StaticContentController.java
index ba2f944..480888b 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/StaticContentController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/StaticContentController.java
@@ -17,6 +17,10 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -71,9 +75,12 @@ public class StaticContentController {
 	 */
 	@SuppressWarnings({ "unchecked"})
 	@PreAuthorize("hasRole('CONTENT')")
-	@RequestMapping(value="/admin/content/static/page.html", method=RequestMethod.POST, produces="application/json;charset=UTF-8")
-	public @ResponseBody String pageStaticContent(HttpServletRequest request, HttpServletResponse response) {
+	@RequestMapping(value="/admin/content/static/page.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> pageStaticContent(HttpServletRequest request, HttpServletResponse response) {
+		
 		AjaxResponse resp = new AjaxResponse();
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
 
 		try {
 			
@@ -129,8 +136,7 @@ public class StaticContentController {
 		}
 		
 		String returnString = resp.toJSONString();
-		
-		return returnString;
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 	}
 	
 
@@ -197,8 +203,8 @@ public class StaticContentController {
 	 * @return
 	 */
 	@PreAuthorize("hasRole('CONTENT')")
-	@RequestMapping(value="/admin/content/static/removeFile.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String removeFile(HttpServletRequest request, HttpServletResponse response, Locale locale) {
+	@RequestMapping(value="/admin/content/static/removeFile.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> removeFile(HttpServletRequest request, HttpServletResponse response, Locale locale) {
 		String fileName = request.getParameter("name");
 
 		MerchantStore store = (MerchantStore)request.getAttribute(Constants.ADMIN_STORE);
@@ -221,8 +227,9 @@ public class StaticContentController {
 		}
 		
 		String returnString = resp.toJSONString();
-		
-		return returnString;
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 	}
 	
 	
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/tax/TaxClassController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/tax/TaxClassController.java
index b6260cb..c0e0645 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/tax/TaxClassController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/tax/TaxClassController.java
@@ -12,6 +12,10 @@ import com.salesmanager.shop.constants.Constants;
 import com.salesmanager.shop.utils.LabelUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -174,15 +178,16 @@ public class TaxClassController {
 	
 	
 	@PreAuthorize("hasRole('TAX')")
-	@RequestMapping(value="/admin/tax/taxclass/remove.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String removeTaxClass(HttpServletRequest request, Locale locale) throws Exception {
+	@RequestMapping(value="/admin/tax/taxclass/remove.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> removeTaxClass(HttpServletRequest request, Locale locale) throws Exception {
 		
 		//do not remove super admin
 		
 		String taxClassId = request.getParameter("taxClassId");
 
 		AjaxResponse resp = new AjaxResponse();
-		
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
 
 		try {
 			
@@ -196,7 +201,8 @@ public class TaxClassController {
 			if(taxClassId==null){
 				resp.setStatusMessage(messages.getMessage("message.unauthorized", locale));
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);			
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			long lTaxClassId;
@@ -206,7 +212,8 @@ public class TaxClassController {
 				LOGGER.error("Invalid taxClassId " + taxClassId);
 				resp.setStatusMessage(messages.getMessage("message.unauthorized", locale));
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);			
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			TaxClass taxClass = taxClassService.getById(lTaxClassId);
@@ -215,7 +222,8 @@ public class TaxClassController {
 				LOGGER.error("Invalid taxClassId " + taxClassId);
 				resp.setStatusMessage(messages.getMessage("message.unauthorized", locale));
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);			
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			//look if the taxclass is used for products
@@ -224,7 +232,8 @@ public class TaxClassController {
 			if(products!=null && products.size()>0) {
 				resp.setStatusMessage(messages.getMessage("message.product.association", locale));
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);			
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			
@@ -241,8 +250,7 @@ public class TaxClassController {
 		}
 		
 		String returnString = resp.toJSONString();
-		
-		return returnString;
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 		
 	}
 	
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/tax/TaxRatesController.java b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/tax/TaxRatesController.java
index 36e95b6..0cbcb04 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/tax/TaxRatesController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/admin/controller/tax/TaxRatesController.java
@@ -17,6 +17,10 @@ import com.salesmanager.shop.utils.LabelUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
@@ -322,21 +326,22 @@ public class TaxRatesController {
 	
 
 	@PreAuthorize("hasRole('TAX')")
-	@RequestMapping(value="/admin/tax/taxrates/remove.html", method=RequestMethod.POST, produces="application/json")
-	public @ResponseBody String removeTaxRate(HttpServletRequest request, Locale locale) throws Exception {
+	@RequestMapping(value="/admin/tax/taxrates/remove.html", method=RequestMethod.POST)
+	public @ResponseBody ResponseEntity<String> removeTaxRate(HttpServletRequest request, Locale locale) throws Exception {
 		
 		//do not remove super admin
 		
 		String taxRateId = request.getParameter("taxRateId");
 
 		AjaxResponse resp = new AjaxResponse();
-		
+		final HttpHeaders httpHeaders= new HttpHeaders();
+	    httpHeaders.setContentType(MediaType.APPLICATION_JSON_UTF8);
 
 		try {
 			
 
 			/**
-			 * In order to remove a User the logged in ser must be STORE_ADMIN
+			 * In order to remove a User the logged in must be STORE_ADMIN
 			 * or SUPER_USER
 			 */
 			
@@ -344,7 +349,8 @@ public class TaxRatesController {
 			if(taxRateId==null){
 				resp.setStatusMessage(messages.getMessage("message.unauthorized", locale));
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);			
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			long ltaxRateId;
@@ -354,7 +360,8 @@ public class TaxRatesController {
 				LOGGER.error("Invalid taxRateId " + taxRateId);
 				resp.setStatusMessage(messages.getMessage("message.unauthorized", locale));
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);			
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 			TaxRate taxRate = taxRateService.getById(ltaxRateId);
@@ -363,7 +370,8 @@ public class TaxRatesController {
 				LOGGER.error("Invalid taxRateId " + taxRateId);
 				resp.setStatusMessage(messages.getMessage("message.unauthorized", locale));
 				resp.setStatus(AjaxResponse.RESPONSE_STATUS_FAIURE);			
-				return resp.toJSONString();
+				String returnString = resp.toJSONString();
+				return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 			}
 			
 
@@ -382,8 +390,7 @@ public class TaxRatesController {
 		}
 		
 		String returnString = resp.toJSONString();
-		
-		return returnString;
+		return new ResponseEntity<String>(returnString,httpHeaders,HttpStatus.OK);
 		
 	}
 	
diff --git a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/search/SearchController.java b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/search/SearchController.java
index b38deb3..73175a5 100644
--- a/sm-shop/src/main/java/com/salesmanager/shop/store/controller/search/SearchController.java
+++ b/sm-shop/src/main/java/com/salesmanager/shop/store/controller/search/SearchController.java
@@ -84,8 +84,8 @@ public class SearchController {
 	 * @return
 	 * @throws Exception
 	 */
-	//@RequestMapping(value="/services/public/search/{store}/{language}/autocomplete", produces="application/json;charset=UTF-8")
-	@RequestMapping(value="/services/public/search/{store}/{language}/autocomplete")
+	@RequestMapping(value="/services/public/search/{store}/{language}/autocomplete", produces="application/json;charset=UTF-8")
+	//@RequestMapping(value="/services/public/search/{store}/{language}/autocomplete")
 	@ResponseBody
 	public ResponseEntity<String> autocomplete(@RequestParam("q") String query, @PathVariable String store, @PathVariable final String language, Model model, HttpServletRequest request, HttpServletResponse response)  {
 	
diff --git a/sm-shop/src/main/webapp/pages/shop/templates/bootstrap/sections/shopLinks.jsp b/sm-shop/src/main/webapp/pages/shop/templates/bootstrap/sections/shopLinks.jsp
index 866d95d..fc1a37b 100644
--- a/sm-shop/src/main/webapp/pages/shop/templates/bootstrap/sections/shopLinks.jsp
+++ b/sm-shop/src/main/webapp/pages/shop/templates/bootstrap/sections/shopLinks.jsp
@@ -28,6 +28,8 @@
     
     <script src="<c:url value="/resources/templates/bootstrap/js/bootstrap-tooltip.js" />"></script>
     <script src="<c:url value="/resources/templates/bootstrap/js/bootstrap-popover.js" />"></script>
+    
+    <link rel="icon" href="<c:url value="/resources/templates/bootstrap/img/favicon.ico"/> ">
 
     
     <!-- mini shopping cart template -->
diff --git a/sm-shop/src/main/webapp/resources/templates/bootstrap/img/favicon.ico b/sm-shop/src/main/webapp/resources/templates/bootstrap/img/favicon.ico
new file mode 100644
index 0000000..6f98a20
Binary files /dev/null and b/sm-shop/src/main/webapp/resources/templates/bootstrap/img/favicon.ico differ
diff --git a/sm-shop/target/m2e-wtp/web-resources/META-INF/maven/com.shopizer/sm-shop/pom.properties b/sm-shop/target/m2e-wtp/web-resources/META-INF/maven/com.shopizer/sm-shop/pom.properties
index 490acc2..04a5e5e 100644
--- a/sm-shop/target/m2e-wtp/web-resources/META-INF/maven/com.shopizer/sm-shop/pom.properties
+++ b/sm-shop/target/m2e-wtp/web-resources/META-INF/maven/com.shopizer/sm-shop/pom.properties
@@ -1,5 +1,5 @@
 #Generated by Maven Integration for Eclipse
-#Wed Dec 07 12:22:37 EST 2016
+#Thu Dec 08 12:00:20 EST 2016
 version=2.5.0-SNAPSHOT
 groupId=com.shopizer
 m2e.projectName=sm-shop