1 <?php
2
3 4 5 6 7 8
9 class Orders1CExchangeSiteConfig extends SiteConfigDecorator {
10
11 function () {
12 return array(
13 'db' => array(
14 'OrderStatusToExportFrom' => "Enum('Unpaid,Paid,Processing,Complete')",
15 )
16 );
17 }
18
19 public function updateCMSFields(FieldSet &$fields) {
20 $tab = self::get_config_tab($fields, 'Export1C');
21
22 $statusValues = $this->owner->dbObject('OrderStatusToExportFrom')->enumValues();
23 foreach ($statusValues as $statusItem => $statusName) {
24 $statusValues[$statusItem] = Order::status_title($statusItem);
25 }
26 $tab->push(new DropDownField('OrderStatusToExportFrom', $this->owner->FieldLabel('OrderStatusToExportFrom'), $statusValues));
27 }
28
29 function StatusesToExport() {
30 $statuses = array();
31 $statusValues = singleton('Order')->dbObject('Status')->enumValues();
32 $find = false;
33 foreach ($statusValues as $statusItem => $statusName) {
34 if ($statusItem == $this->owner->OrderStatusToExportFrom) {
35 $find = true;
36 }
37 if ($find) {
38 $statuses[$statusItem] = "'{$statusItem}'";
39 }
40 }
41 return $statuses;
42 }
43
44 function requireDefaultRecords() {
45 if (!$Group = DataObject::get_one("Group", "`Group`.`Code` = 'EXCHANGE_1C'")) {
46 $group = new Group();
47 $group->Code = 'EXCHANGE_1C';
48 $group->Title = "Экспорт в 1С";
49 $group->write();
50
51 Permission::grant($group->ID, 'EXCHANGE_1C');
52 if (method_exists('DB', 'alteration_message'))
53 DB::alteration_message(_t('Registration.GROUPCREATED', 'Members group created'), "created");
54 }
55
56 }
57 }
58
[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the
Silverstripe Forums to ask development related questions.
-