| Total Complexity | 10 |
| Total Lines | 51 |
| Duplicated Lines | 0 % |
| Coverage | 100% |
| Changes | 1 | ||
| Bugs | 0 | Features | 0 |
| 1 | <?php |
||
| 11 | class SetupState extends Menu |
||
| 12 | { |
||
| 13 | 30 | public static function scriptFilter() |
|
| 14 | { |
||
| 15 | 30 | self::saveState(); |
|
| 16 | |||
| 17 | 30 | ScriptFilter::add( |
|
| 18 | 30 | self::stateSaved(), |
|
| 19 | 30 | self::back() |
|
| 20 | ); |
||
| 21 | 30 | } |
|
| 22 | |||
| 23 | 30 | private static function saveState() |
|
| 24 | { |
||
| 25 | 30 | Workflow::disableAllServices(); |
|
| 26 | |||
| 27 | 30 | self::toEnable() ? Workflow::enableService('clockify') : Workflow::disableService('clockify'); |
|
| 28 | 30 | } |
|
| 29 | |||
| 30 | 30 | private static function stateSaved() |
|
| 31 | { |
||
| 32 | 30 | return Item::create() |
|
| 33 | 30 | ->title(self::stateTitle()) |
|
| 34 | 30 | ->subtitle(self::stateSubtitle()) |
|
| 35 | 30 | ->icon(Icon::create('resources/icons/clockify.png')) |
|
| 36 | 30 | ->arg('do') |
|
| 37 | 30 | ->variable('action', 'exit'); |
|
| 38 | } |
||
| 39 | |||
| 40 | 30 | private static function stateTitle() |
|
| 41 | { |
||
| 42 | 30 | return 'Clockify ' . (self::toEnable() ? 'ENABLED!' : 'DISABLED!'); |
|
| 43 | } |
||
| 44 | |||
| 45 | 30 | protected static function stateSubtitle() |
|
| 46 | { |
||
| 47 | 30 | return (self::toEnable() ? 'Other services disabled. ' : '') . 'You may press enter to quit the workflow'; |
|
| 48 | } |
||
| 49 | |||
| 50 | 30 | private static function back() |
|
| 51 | { |
||
| 52 | 30 | return Item::create() |
|
| 53 | 30 | ->title('Back') |
|
| 54 | 30 | ->subtitle('Go back to Clockify options') |
|
| 55 | 30 | ->arg('clockify_setup') |
|
| 56 | 30 | ->icon(Icon::create('resources/icons/clockify.png')); |
|
| 57 | } |
||
| 58 | |||
| 59 | 30 | protected static function toEnable() |
|
| 62 | } |
||
| 63 | } |
||
| 64 |