shopizer-uncached
Changes
sm-shop/SALESMANAGER.h2.db 0(+0 -0)
sm-shop/SALESMANAGER.lock.db 4(+2 -2)
sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/ContentImageController.java 22(+14 -8)
sm-shop/src/main/java/com/salesmanager/shop/admin/controller/content/ContentPagesController.java 57(+32 -25)
Details
sm-shop/SALESMANAGER.h2.db 0(+0 -0)
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
sm-shop/SALESMANAGER.lock.db 4(+2 -2)
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