@@ -44,10 +44,12 @@ public function setDefault( $options = [] ): void
44
44
{
45
45
Option::truncate ();
46
46
47
+ $ types = app ()->make ( OrdersService::class )->getTypeLabels ();
48
+
47
49
$ defaultOptions = [
48
50
'ns_registration_enabled ' => false ,
49
51
'ns_store_name ' => 'NexoPOS 4.x ' ,
50
- 'ns_pos_order_types ' => [ ' takeaway ' , ' delivery ' ] ,
52
+ 'ns_pos_order_types ' => array_keys ( $ types ) ,
51
53
];
52
54
53
55
$ options = array_merge ( $ defaultOptions , $ options );
@@ -103,38 +105,7 @@ public function set( $key, $value, $expiration = null )
103
105
* it will save the new value and update
104
106
* the option object.
105
107
*/
106
- $ foundOption = collect ( $ this ->rawOptions )->map ( function ( $ option , $ index ) use ( $ value , $ key , $ expiration ) {
107
- if ( $ key === $ index ) {
108
- $ this ->hasFound = true ;
109
-
110
- switch ( $ value ) {
111
- case is_array ( $ value ) :
112
- $ option ->value = json_encode ( $ value );
113
- break ;
114
- case empty ( $ value ) && ! (bool ) preg_match ( '/[0-9]{1,}/ ' , $ value ) :
115
- $ option ->value = '' ;
116
- break ;
117
- default :
118
- $ option ->value = $ value ;
119
- break ;
120
- }
121
-
122
- $ option ->expire_on = $ expiration ;
123
-
124
- /**
125
- * this should be overridable
126
- * from a user option or any
127
- * extending this class
128
- */
129
- $ option = $ this ->beforeSave ( $ option );
130
- $ option ->save ();
131
-
132
- return $ option ;
133
- }
134
-
135
- return false ;
136
- })
137
- ->filter ();
108
+ $ foundOption = collect ( $ this ->rawOptions )->filter ( fn ( $ option , $ index ) => $ index === $ key );
138
109
139
110
/**
140
111
* if the option hasn't been found
@@ -143,33 +114,30 @@ public function set( $key, $value, $expiration = null )
143
114
*/
144
115
if ( $ foundOption ->isEmpty () ) {
145
116
$ option = new Option ;
146
- $ option ->key = trim ( strtolower ( $ key ) );
147
- $ option ->array = false ;
148
-
149
- switch ( $ value ) {
150
- case is_array ( $ value ) :
151
- $ option ->value = json_encode ( $ value );
152
- break ;
153
- case empty ( $ value ) && ! (bool ) preg_match ( '/[0-9]{1,}/ ' , $ value ) :
154
- $ option ->value = '' ;
155
- break ;
156
- default :
157
- $ option ->value = $ value ;
158
- break ;
159
- }
117
+ } else {
118
+ $ option = $ foundOption ->first ();
119
+ }
160
120
161
- $ option ->expire_on = $ expiration ;
121
+ $ option ->key = trim ( strtolower ( $ key ) );
122
+ $ option ->array = false ;
162
123
163
- /**
164
- * this should be overridable
165
- * from a user option or any
166
- * extending this class
167
- */
168
- $ option = $ this ->beforeSave ( $ option );
169
- $ option ->save ();
124
+ if ( is_array ( $ value ) ) {
125
+ $ option ->value = json_encode ( $ value );
126
+ } else if ( empty ( $ value ) && ! (bool ) preg_match ( '/[0-9]{1,}/ ' , $ value ) ) {
127
+ $ option ->value = '' ;
170
128
} else {
171
- $ option = $ foundOption -> first () ;
129
+ $ option-> value = $ value ;
172
130
}
131
+
132
+ $ option ->expire_on = $ expiration ;
133
+
134
+ /**
135
+ * this should be overridable
136
+ * from a user option or any
137
+ * extending this class
138
+ */
139
+ $ option = $ this ->beforeSave ( $ option );
140
+ $ option ->save ();
173
141
174
142
/**
175
143
* Let's save the new option
0 commit comments