1 | <?php defined('SYSPATH') OR die('No direct access allowed.'); |
||
14 | class Kohana_Jam_Behavior_Promotable_Purchase extends Jam_Behavior { |
||
15 | |||
16 | /** |
||
17 | * @codeCoverageIgnore |
||
18 | */ |
||
19 | public function initialize(Jam_Meta $meta, $name) |
||
32 | |||
33 | /** |
||
34 | * If there is a promo_code object, load it into the promo_code_text |
||
35 | * @param Model_Purchase $purchase |
||
36 | */ |
||
37 | 1 | public function model_after_load(Model_Purchase $purchase) |
|
38 | { |
||
39 | 1 | if ($purchase->promo_code_id) |
|
40 | { |
||
41 | 1 | $promo_code = Jam_Behavior_Paranoid::with_filter( |
|
42 | 1 | Jam_Behavior_Paranoid::ALL, |
|
43 | function () use ($purchase) { |
||
44 | 1 | return $purchase->promo_code; |
|
45 | 1 | } |
|
46 | ); |
||
47 | 1 | $purchase->retrieved('promo_code_text', $promo_code->code); |
|
48 | } |
||
49 | 1 | } |
|
50 | |||
51 | /** |
||
52 | * If there is a new value in promo_code_text, try to load promo_code object. |
||
53 | * If the new value is NULL, remove it |
||
54 | * @param Model_Purchase $purchase |
||
55 | */ |
||
56 | 1 | public function model_after_check(Model_Purchase $purchase) |
|
70 | } |
||
71 |