Revision 727 (by ahitrov, 2018/10/09 12:36:57) |
Put all delivery options in a separate table. Link address and delivery tables
|
package webshop::SQL::DeliveryTable;
use base 'SQL::DocumentTable';
sub db_table
{
return 'webshop_delivery';
}
my $available_filters = [qw(
_class_filter
_status_filter
_in_id_filter
_id_filter
_name_filter
_class_excludes_filter
_sfilter_filter
_excludes_filter
_datetime_filter
_date_equal_filter
_date_filter
_previous_days_filter
_s_filter
_alias_filter
)];
sub available_filters {
return $available_filters;
}
# ----------------------------------------------------------------------------
# Свойства храним в массивах, потому что порядок важен!
# Это общие свойства - одинаковые для всех документов.
#
# attr - обязательный параметр, название атрибута;
# type - тип аттрибута, требуется для отображдения;
# rusname - русское название, опять же требуется для отображения;
# hidden - равен 1, когда
# readonly - инициализации при записи только без изменения в дальнейшем
# db_field - поле в таблице
# default - значение по умолчанию (поле всегда имеет это значение)
# ----------------------------------------------------------------------------
sub required_properties
{
my $self = shift;
my @parent_properties = $self->SUPER::required_properties;
return (
@parent_properties,
{ # User ID
'attr' => 'alias',
'type' => 'string',
'rusname' => 'Alias доставки',
'db_field' => 'alias',
'db_type' => 'text',
},
);
}
########### FILTERS DESCRIPTION ###############################################################################
sub _alias_filter {
my ($self,%opts)=@_;
return undef unless ( exists $opts{alias} );
return &SQL::Common::_generic_text_filter('d.alias', $opts{alias});
}
1;
Небольшая справка по веткам
cnddist – контейнер, в котором хранятся все дистрибутивы всех библиотек и программных пакетов, которые использовались при построении различных версий Contenido. Если какой-то библиотеки в данном хранилище нет, инсталлятор сделает попытку "подтянуть" ее с веба (например, с CPAN). Если библиотека слишком старая, есть очень большая вероятность, что ее там уже нет. Поэтому мы храним весь хлам от всех сборок. Если какой-то дистрибутив вдруг отсутствует в cnddist - напишите нам, мы положим его туда.
koi8 – отмирающая ветка, чей код, выдача и все внутренние библиотеки заточены на кодировку KOI8-R. Вносятся только те дополнения, которые касаются внешнего вида и функционала админки, баги ядра, обязательные обновления портов и мелочи, которые легко скопипастить. В дальнейшем планируется полная остановка поддержки по данной ветке.
utf8 – актуальная ветка, заточенная под UTF-8.
Внутри каждой ветки: core – исходники ядра; install – скрипт установки инсталляции; plugins – плагины; samples – "готовые к употреблению" проекты, которые можно поставить, запустить и посмотреть, как они работают.