1 <?php
2
3 4 5 6 7 8 9 10 11 12 13 14 15
16 class CheckoutStep_Summary extends CheckoutStep{
17
18 static $allowed_actions = array('summary', 'SummaryForm');
19
20 21 22
23 function summary() {
24 if (SiteConfig::current_site_config()->CartRegisterRequire && !Member::currentUser()) {
25 return Director::redirect('/Security/login?BackURL=' . $this->owner->Link());
26 }
27 $order = Cart::current_order();
28 $form = $this->SummaryForm();
29
30 foreach ($this->owner->getOrderRequired() as $name) {
31 if ($order->getField($name)) continue;
32 if ($form->fields()->dataFieldByName($name)) continue;
33 return Director::redirect($this->owner->Link());
34 }
35
36 $form->loadDataFrom(Cart::get_info());
37 $order->ClientNotes = '';
38
39 return array(
40 'Title' => $this->stepTitle(),
41 'Content' => $this->stepMessage(),
42 'Order' => $order,
43 'Form' => $form
44 );
45 }
46
47 48 49 50 51 52 53 54 55 56 57 58 59 60
61 function SummaryForm(){
62 $required = $this->owner->getOrderRequired();
63 $siteConfig = SiteConfig::current_site_config();
64 if ($siteConfig->hasMethod('SiteAgreementField') && ($rulesField = $siteConfig->SiteAgreementField())) {
65 $required[] = $rulesField->Name();
66 }
67 $form = new Form(
68 $this->owner,
69 "SummaryForm",
70 $this->owner->getSummaryFields(),
71 $this->getStepActions(new FormAction("saveorder", _t('OrderForm.SaveOrderButton', "Confirm and Pay"))),
72 new CustomRequiredFields($required)
73 );
74 $form->addExtraClass('checkoutComment');
75
76 $this->owner->extend('updateSummaryForm', $form);
77 return $form;
78 }
79 }
[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.
-