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