Skip to content

Commit

Permalink
Merge branch 'v5.0.x' of https://github.com/blair2004/NexoPOS into v5…
Browse files Browse the repository at this point in the history
….0.x
  • Loading branch information
Blair2004 committed Apr 4, 2024
2 parents 1dec9e6 + a5c4fec commit 193780a
Show file tree
Hide file tree
Showing 8 changed files with 148 additions and 79 deletions.
22 changes: 21 additions & 1 deletion app/Classes/CrudForm.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,25 @@

class CrudForm
{
// @todo
public static function form( $main, $tabs )
{
return compact( 'main', 'tabs' );
}

public static function tabs( ...$args )
{
return collect( $args )->mapWithKeys( function( $tab ) {
return [ $tab['identifier'] => $tab ];
})->toArray();
}

public static function tab( $identifier, $label, $fields )
{
return compact( 'label', 'fields', 'identifier' );
}

public static function fields( ...$args )
{
return collect( $args )->filter()->toArray();
}
}
127 changes: 72 additions & 55 deletions app/Classes/CrudInput.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,234 +3,251 @@

class CrudInput
{
public static function text( $label, $name, $validation = '', $description = '', $readonly = false, $type = 'text' )
public static function text( $label, $name, $value = '', $validation = '', $description = '', $disabled = false, $type = 'text' )
{
return compact( 'label', 'name', 'validation', 'description', 'readonly', 'type' );
return compact( 'label', 'name', 'value', 'validation', 'description', 'disabled', 'type' );
}

public static function password( $label, $name, $validation = '', $description = '', $readonly = false )
public static function password( $label, $name, $validation = '', $description = '', $disabled = false )
{
return self::text(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
disabled: $disabled,
type: 'password'
);
}

public static function email( $label, $name, $validation = '', $description = '', $readonly = false )
public static function email( $label, $name, $value = '', $validation = '', $description = '', $disabled = false )
{
return self::text(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
type: 'email'
disabled: $disabled,
type: 'email',
value: $value
);
}

public static function number( $label, $name, $validation = '', $description = '', $readonly = false, $type = 'number' )
public static function number( $label, $name, $value = '', $validation = '', $description = '', $disabled = false, $type = 'number' )
{
return self::text(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
type: 'number'
disabled: $disabled,
type: 'number',
value: $value
);
}

public static function tel( $label, $name, $validation = '', $description = '', $readonly = false, $type = 'tel' )
public static function tel( $label, $name, $value = '', $validation = '', $description = '', $disabled = false, $type = 'tel' )
{
return self::text(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
type: 'tel'
disabled: $disabled,
type: 'tel',
value: $value
);
}

public static function hidden( $label, $name, $validation = '', $description = '', $readonly = false, $type = 'hidden' )
public static function hidden( $label, $name, $value = '', $validation = '', $description = '', $disabled = false, $type = 'hidden' )
{
return self::text(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
type: 'hidden'
disabled: $disabled,
type: 'hidden',
value: $value
);
}

public static function date( $label, $name, $validation = '', $description = '', $readonly = false, $type = 'date' )
public static function date( $label, $name, $value = '', $validation = '', $description = '', $disabled = false, $type = 'date' )
{
return self::text(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
type: 'date'
disabled: $disabled,
type: 'date',
value: $value
);
}

public static function select( $label, $name, $options, $validation = '', $description = '', $readonly = false, $type = 'text' )
public static function select( $label, $name, $options, $value = '', $validation = '', $description = '', $disabled = false, $type = 'select' )
{
return compact( 'label', 'name', 'validation', 'options', 'description', 'readonly', 'type' );
return compact( 'label', 'name', 'validation', 'options', 'value', 'description', 'disabled', 'type' );
}

public static function searchSelect( $label, $name, $options = [], $validation = '', $description = '', $readonly = false )
public static function searchSelect( $label, $name, $value = '', $options = [], $validation = '', $description = '', $disabled = false )
{
return self::select(
label: $label,
name: $name,
validation: $validation,
description: $description,
options: $options,
type: 'search-select',
value: $value,
type: 'search-select'
);
}

public static function textarea( $label, $name, $validation = '', $description = '', $readonly = false )
public static function textarea( $label, $name, $value = '', $validation = '', $description = '', $disabled = false )
{
return self::text(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
type: 'textarea'
disabled: $disabled,
type: 'textarea',
value: $value
);
}

public static function checkbox( $label, $name, $validation = '', $description = '', $readonly = false )
public static function checkbox( $label, $name, $value = '', $validation = '', $description = '', $disabled = false )
{
return self::text(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
type: 'checkbox'
disabled: $disabled,
type: 'checkbox',
value: $value
);
}

public static function multiselect( $label, $name, $options, $validation = '', $description = '', $readonly = false )
public static function multiselect( $label, $name, $value = '', $options, $validation = '', $description = '', $disabled = false )
{
return self::select(
label: $label,
name: $name,
validation: $validation,
options: $options,
description: $description,
readonly: $readonly,
type: 'multiselect'
disabled: $disabled,
type: 'multiselect',
value: $value
);
}

public static function inlineMultiselect( $label, $name, $options, $validation = '', $description = '', $readonly = false )
public static function inlineMultiselect( $label, $name, $value = '', $options, $validation = '', $description = '', $disabled = false )
{
return self::select(
label: $label,
name: $name,
validation: $validation,
options: $options,
description: $description,
readonly: $readonly,
type: 'inline-multiselect'
disabled: $disabled,
type: 'inline-multiselect',
value: $value
);
}

public static function selectAudio( $label, $name, $options, $validation = '', $description = '', $readonly = false )
public static function selectAudio( $label, $name, $value = '', $options, $validation = '', $description = '', $disabled = false )
{
return self::select(
label: $label,
name: $name,
validation: $validation,
options: $options,
description: $description,
readonly: $readonly,
type: 'select-audio'
disabled: $disabled,
type: 'select-audio',
value: $value
);
}

public static function switch( $label, $name, $options, $validation = '', $description = '', $readonly = false )
public static function switch( $label, $name, $options, $value = '', $validation = '', $description = '', $disabled = false )
{
return self::select(
label: $label,
name: $name,
validation: $validation,
options: $options,
value: $value,
description: $description,
readonly: $readonly,
disabled: $disabled,
type: 'switch'
);
}

public static function media( $label, $name, $validation = '', $description = '', $readonly = false )
public static function media( $label, $name, $value = '', $validation = '', $description = '', $disabled = false )
{
return self::text(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
type: 'media'
disabled: $disabled,
type: 'media',
value: $value
);
}

public static function ckeditor( $label, $name, $validation = '', $description = '', $readonly = false )
public static function ckeditor( $label, $name, $value = '', $validation = '', $description = '', $disabled = false )
{
return self::text(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
type: 'ckeditor'
disabled: $disabled,
type: 'ckeditor',
value: $value
);
}

public static function datetime( $label, $name, $validation = '', $description = '', $readonly = false )
public static function datetime( $label, $name, $value = '', $validation = '', $description = '', $disabled = false )
{
return self::text(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
type: 'datetimepicker'
disabled: $disabled,
type: 'datetimepicker',
value: $value
);
}

public static function daterange( $label, $name, $validation = '', $description = '', $readonly = false )
public static function daterange( $label, $name, $value = '', $validation = '', $description = '', $disabled = false )
{
return self::text(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
type: 'daterangepicker'
disabled: $disabled,
type: 'daterangepicker',
value: $value
);
}

public static function custom( $label, $name, $type, $validation = '', $description = '', $readonly = false, $options = [] )
public static function custom( $label, $name, $type, $value = '', $validation = '', $description = '', $disabled = false, $options = [] )
{
return self::select(
label: $label,
name: $name,
validation: $validation,
description: $description,
readonly: $readonly,
disabled: $disabled,
options: $options,
type: $type
type: $type,
value: $value
);
}
}
5 changes: 5 additions & 0 deletions app/Classes/CrudTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,9 @@ public static function attribute( $label, $column )
{
return compact( 'label', 'column' );
}

public static function attributes( ...$attributes )
{
return $attributes;
}
}
7 changes: 7 additions & 0 deletions app/Classes/FormInput.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?php
namespace App\Classes;

class FormInput extends CrudInput
{
// ... replicates the CrudInput
}
10 changes: 10 additions & 0 deletions app/Classes/SettingForm.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php
namespace App\Classes;

class SettingForm extends CrudForm
{
public static function form( $title, $description = '', $tabs = [] )
{
return compact( 'title', 'description', 'tabs' );
}
}
4 changes: 2 additions & 2 deletions app/Crud/UserCrud.php
Original file line number Diff line number Diff line change
Expand Up @@ -613,7 +613,7 @@ public function getColumns(): array
CrudTable::column(
identifier: 'username',
label: __( 'Username' ),
attributes: [
attributes: CrudTable::attributes(
CrudTable::attribute(
column: 'active',
label: __( 'Active' )
Expand All @@ -622,7 +622,7 @@ public function getColumns(): array
column: 'email',
label: __( 'Email' )
)
]
)
),
CrudTable::column(
label: __( 'Wallet' ),
Expand Down
5 changes: 5 additions & 0 deletions app/Models/User.php
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,11 @@ public function assignRole( $roleName )
];
}

public function scopeActive()
{
return $this->where( 'active', true );
}

/**
* Quick access to user options
*/
Expand Down

0 comments on commit 193780a

Please sign in to comment.