module_settings_act_shop.go 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package modules
  2. import (
  3. "strings"
  4. "golang-fave/engine/wrapper"
  5. "golang-fave/utils"
  6. )
  7. func (this *Modules) RegisterAction_SettingsShop() *Action {
  8. return this.newAction(AInfo{
  9. WantDB: true,
  10. Mount: "settings-shop",
  11. WantAdmin: true,
  12. }, func(wrap *wrapper.Wrapper) {
  13. pf_price_fomat := wrap.R.FormValue("price-fomat")
  14. pf_price_round := wrap.R.FormValue("price-round")
  15. pf_require_last_name := wrap.R.FormValue("require-last-name")
  16. pf_require_first_name := wrap.R.FormValue("require-first-name")
  17. pf_require_middle_name := wrap.R.FormValue("require-middle-name")
  18. pf_require_mobile_phone := wrap.R.FormValue("require-mobile-phone")
  19. pf_require_email_address := wrap.R.FormValue("require-email-address")
  20. pf_require_delivery := wrap.R.FormValue("require-delivery")
  21. pf_require_comment := wrap.R.FormValue("require-comment")
  22. pf_new_order_notify_email := strings.TrimSpace(wrap.R.FormValue("new-order-notify-email"))
  23. pf_new_order_email_theme_cp := strings.TrimSpace(wrap.R.FormValue("new-order-email-theme-cp"))
  24. pf_new_order_email_theme_user := strings.TrimSpace(wrap.R.FormValue("new-order-email-theme-user"))
  25. pf_accept_orders := wrap.R.FormValue("accept-orders")
  26. if !utils.IsNumeric(pf_price_fomat) {
  27. wrap.MsgError(`Must be integer number`)
  28. return
  29. }
  30. if !utils.IsNumeric(pf_price_round) {
  31. wrap.MsgError(`Must be integer number`)
  32. return
  33. }
  34. pfi_price_fomat := utils.StrToInt(pf_price_fomat)
  35. pfi_price_round := utils.StrToInt(pf_price_round)
  36. // Correct values
  37. if pfi_price_fomat < 0 {
  38. pfi_price_fomat = 0
  39. }
  40. if pfi_price_fomat > 4 {
  41. pfi_price_fomat = 4
  42. }
  43. if pfi_price_round < 0 {
  44. pfi_price_round = 0
  45. }
  46. if pfi_price_round > 2 {
  47. pfi_price_round = 2
  48. }
  49. if pf_require_last_name == "" {
  50. pf_require_last_name = "0"
  51. }
  52. if pf_require_first_name == "" {
  53. pf_require_first_name = "0"
  54. }
  55. if pf_require_middle_name == "" {
  56. pf_require_middle_name = "0"
  57. }
  58. if pf_require_mobile_phone == "" {
  59. pf_require_mobile_phone = "0"
  60. }
  61. if pf_require_email_address == "" {
  62. pf_require_email_address = "0"
  63. }
  64. if pf_require_delivery == "" {
  65. pf_require_delivery = "0"
  66. }
  67. if pf_require_comment == "" {
  68. pf_require_comment = "0"
  69. }
  70. if pf_accept_orders == "" {
  71. pf_accept_orders = "0"
  72. }
  73. (*wrap.Config).Shop.Price.Format = pfi_price_fomat
  74. (*wrap.Config).Shop.Price.Round = pfi_price_round
  75. (*wrap.Config).Shop.Orders.RequiredFields.LastName = utils.StrToInt(pf_require_last_name)
  76. (*wrap.Config).Shop.Orders.RequiredFields.FirstName = utils.StrToInt(pf_require_first_name)
  77. (*wrap.Config).Shop.Orders.RequiredFields.MiddleName = utils.StrToInt(pf_require_middle_name)
  78. (*wrap.Config).Shop.Orders.RequiredFields.MobilePhone = utils.StrToInt(pf_require_mobile_phone)
  79. (*wrap.Config).Shop.Orders.RequiredFields.EmailAddress = utils.StrToInt(pf_require_email_address)
  80. (*wrap.Config).Shop.Orders.RequiredFields.Delivery = utils.StrToInt(pf_require_delivery)
  81. (*wrap.Config).Shop.Orders.RequiredFields.Comment = utils.StrToInt(pf_require_comment)
  82. if pf_new_order_notify_email != "" {
  83. if utils.IsValidEmail(pf_new_order_notify_email) {
  84. (*wrap.Config).Shop.Orders.NotifyEmail = pf_new_order_notify_email
  85. }
  86. } else {
  87. (*wrap.Config).Shop.Orders.NotifyEmail = ""
  88. }
  89. (*wrap.Config).Shop.Orders.NewOrderEmailThemeCp = pf_new_order_email_theme_cp
  90. (*wrap.Config).Shop.Orders.NewOrderEmailThemeUser = pf_new_order_email_theme_user
  91. (*wrap.Config).Shop.Orders.Enabled = utils.StrToInt(pf_accept_orders)
  92. if err := wrap.ConfigSave(); err != nil {
  93. wrap.MsgError(err.Error())
  94. return
  95. }
  96. wrap.ResetCacheBlocks()
  97. // Reload current page
  98. wrap.Write(`window.location.reload(false);`)
  99. })
  100. }