first commit

This commit is contained in:
2025-03-12 17:06:23 +01:00
commit 2241f7131f
13185 changed files with 1692479 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
<?php
/**
* SOTESHOP/stDiscountPlugin
*
* Ten plik należy do aplikacji stDiscountPlugin opartej na licencji (Professional License SOTE).
* Nie zmieniaj tego pliku, jeśli chcesz korzystać z automatycznych aktualizacji oprogramowania.
* Jeśli chcesz wprowadzać swoje modyfikacje do programu, zapoznaj się z dokumentacją, jak zmieniać
* oprogramowanie bez zmiany kodu bazowego http://www.sote.pl/modifications
*
* @package stDiscountPlugin
* @subpackage configs
* @copyright SOTE (www.sote.pl)
* @license http://www.sote.pl/license/sote (Professional License SOTE)
* @version $Id: config.php 17254 2012-02-24 10:56:46Z marcin $
*/
switch (SF_APP){
case 'backend':
stPluginHelper::addEnableModule('stDiscountBackend', 'backend');
stPluginHelper::addEnableModule('stDiscountCouponCodeBackend', 'backend');
stPluginHelper::addRouting('stDiscountPlugin', '/discount/:action/*', 'stDiscountBackend', 'list', 'backend');
stPluginHelper::addRouting('stDiscountCouponCodeBackend', '/discount-coupon-code/:action/*', 'stDiscountCouponCodeBackend', 'list', 'backend');
stPluginHelper::addRouting('stDiscountPluginDefault', '/discount/:action/*', 'stDiscountBackend', 'list', 'backend');
$dispatcher->connect('stAdminGenerator.generateStUser', array('stDiscountListener', 'generateStUser'));
$dispatcher->connect('autoStUserActions.preGetAlldiscountOrCreate', array('stDiscountListener', 'preGetAlldiscountOrCreate'));
$dispatcher->connect('autostProductActions.preExecuteDiscountAddGroup', array('stDiscountListener', 'preExecuteProductDiscountAddGroup'));
$dispatcher->connect('autostUserActions.preExecuteDiscountAddGroup', array('stDiscountListener', 'preExecuteUserDiscountAddGroup'));
$dispatcher->connect('stProductActions.postExecuteDuplicate', array('stDiscountListener', 'postExecuteDuplicate'));
break;
case 'frontend':
stPluginHelper::addEnableModule('stDiscountFrontend', 'frontend');
stPluginHelper::addRouting('stDiscountPlugin', '/discount/:action/*', 'stDiscountFrontend', 'discountInfo', 'frontend');
$dispatcher->connect('stUserDataComponents.postExecuteUserPanelMenu', array('stDiscountListener', 'postExecuteUserPanelMenu'));
$dispatcher->connect('Product.postHydrate', array('stDiscountListener', 'getPrice', 'last'));
break;
}
sfMixer::register('BasesfGuardUser:save:pre', array('stDiscountListener', 'preSaveUser'));

View File

@@ -0,0 +1,39 @@
edit:
menu:
display: [discount]
fields:
discount: {name: Grupy rabatowe, action: stProduct/discountList?product_id=%%id%%}
display:
"NONE": [max_discount]
fields:
max_discount: {name: Maksymalny rabat [%]}
discount_model_class: Discount
custom_actions:
list: [discount]
edit: [discount]
discount_list:
forward_parameters: [product_id]
fields:
id: {name: ID}
name: {name: Nazwa, params: size=50}
value: {name: Rabat}
priority: {name: Priorytet}
build_options:
through_class: DiscountHasProduct
related_id: forward_parameters.product_id
display: [name, value, priority]
menu: {use: edit.menu}
description: Zarządzanie produktami w sklepie.
title: Grupy rabatowe produktu
object_actions: []
actions: []
export:
fields:
max_discount: {name: Maksymalny_rabat, type: double, sample: 50}
import:
fields:
max_discount: {name: Maksymalny_rabat, type: double, sample: 50, class: stDiscount}

View File

@@ -0,0 +1,44 @@
edit:
menu:
display: [discount]
fields:
discount: {name: Grupy rabatowe, action: stUser/discountList?user_id=%%id%%}
discount_model_class: Discount
alldiscount_model_class: DiscountUser
custom_actions:
list: [discount]
edit: [discount, alldiscount]
discount_list:
use_helper: [stCurrency]
forward_parameters: [user_id]
fields:
id: {name: ID}
name: {name: Nazwa, params: size=50}
value: {name: Rabat, module: stDiscountBackend}
priority: {name: Priorytet}
build_options:
through_class: UserHasDiscount
related_id: forward_parameters.user_id
display: [name, _value, priority]
menu: {use: edit.menu}
title: Grupy rabatowe
empty_message: Brak rabatów
object_actions: []
actions: []
alldiscount_edit:
build_options:
related_id: forward_parameters.user_id
forward_parameters: [user_id]
title: Edycja Rabatu
display: [_sf_guard_user_id, discount]
fields:
discount: {name: Rabat ogólny dla klienta [%]}
sf_guard_user_id: {name: Użytkownik}
actions:
_save: {name: Zapisz}

View File

@@ -0,0 +1,292 @@
---
propel:
_attributes:
defaultIdMethod: native
package: plugins.stDiscountPlugin.lib.model
st_discount:
_attributes:
phpName: Discount
id:
type: INTEGER
primaryKey: true
required: true
autoIncrement: true
type:
type: VARCHAR
size: 1
required: true
default: P
price_type:
type: VARCHAR
required: true
size: 1
default: %
name:
type: VARCHAR
size: 64
required: true
value:
type: DECIMAL
size: 8
scale: 2
required: false
wholesale_value:
type: DECIMAL
size: 8
scale: 2
required: false
conditions:
type: VARCHAR
phpType: array
size: 4096
priority:
type: INTEGER
required: true
default: 0
active:
type: BOOLEAN
required: true
default: 1
all_products:
type: BOOLEAN
required: true
default: 0
all_clients:
type: BOOLEAN
required: true
default: 0
allow_anonymous_clients:
type: BOOLEAN
required: true
default: 0
auto_active:
type: BOOLEAN
required: true
default: 0
product_id:
type: INTEGER
required: false
foreignTable: st_product
foreignReference: id
onDelete: cascade
_indexes:
discount_priority:
- priority
discount_active:
- active
st_user_has_discount:
_attributes:
phpName: UserHasDiscount
sf_guard_user_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: sf_guard_user
foreignReference: id
onDelete: cascade
discount_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_discount
foreignReference: id
onDelete: cascade
auto:
type: BOOLEAN
required: true
default: 0
st_discount_has_product:
_attributes:
phpName: DiscountHasProduct
discount_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_discount
foreignReference: id
onDelete: cascade
product_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_product
foreignReference: id
onDelete: cascade
st_discount_range:
_attributes:
phpName: DiscountRange
created_at:
type: timestamp
updated_at:
type: timestamp
id:
type: INTEGER
primaryKey: true
required: true
autoIncrement: true
discount_id:
type: INTEGER
required: true
foreignTable: st_discount
foreignReference: id
onDelete: cascade
total_value:
type: DOUBLE
required: true
default: 0.0
st_discount_user:
_attributes:
phpName: DiscountUser
sf_guard_user_id:
type: INTEGER
required: true
foreignTable: sf_guard_user
foreignReference: id
onDelete: cascade
discount:
type: DOUBLE
default: 0
st_discount_coupon_code:
_attributes:
phpName: DiscountCouponCode
id:
type: INTEGER
primaryKey: true
required: true
autoIncrement: true
sf_guard_user_id:
type: INTEGER
foreignTable: sf_guard_user
foreignReference: id
onDelete: cascade
order_id:
type: INTEGER
foreignTable: st_order
foreignReference: id
onDelete: cascade
code:
type: VARCHAR
size: 16
required: true
used:
type: INTEGER
required: true
default: 0
valid_usage:
type: INTEGER
required: true
default: 0
allow_all_products:
type: BOOLEAN
required: false
valid_from:
type: TIMESTAMP
valid_to:
type: TIMESTAMP
discount:
type: DECIMAL
size: 3
scale: 1
required: true
default: 0
_uniques:
discount_coupon_code_index1:
- code
st_discount_has_producer:
_attributes:
phpName: DiscountHasProducer
discount_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_discount
foreignReference: id
onDelete: cascade
producer_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_producer
foreignReference: id
onDelete: cascade
st_discount_has_category:
_attributes:
phpName: DiscountHasCategory
discount_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_discount
foreignReference: id
onDelete: cascade
category_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_category
foreignReference: id
onDelete: cascade
is_opt:
type: BOOLEAN
default: 0
required: true
st_discount_coupon_code_has_producer:
_attributes:
phpName: DiscountCouponCodeHasProducer
discount_coupon_code_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_discount_coupon_code
foreignReference: id
onDelete: cascade
producer_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_producer
foreignReference: id
onDelete: cascade
st_discount_coupon_code_has_category:
_attributes:
phpName: DiscountCouponCodeHasCategory
discount_coupon_code_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_discount_coupon_code
foreignReference: id
onDelete: cascade
category_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_category
foreignReference: id
onDelete: cascade
is_opt:
type: BOOLEAN
default: 0
required: true
st_discount_coupon_code_has_product:
_attributes:
phpName: DiscountCouponCodeHasProduct
discount_coupon_code_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_discount_coupon_code
foreignReference: id
onDelete: cascade
product_id:
type: INTEGER
primaryKey: true
required: true
foreignTable: st_product
foreignReference: id
onDelete: cascade

View File

@@ -0,0 +1,5 @@
propel:
st_discount_range:
_attributes:
phpName: DiscountRange
total_value: {change_column: range}

View File

@@ -0,0 +1,6 @@
propel:
st_product:
_attributes: {phpName: Product}
max_discount:
type: DOUBLE
default: 100.0