ostheneo / toaster
Toaster online
This package's canonical repository appears to be gone and the package has been frozen as a result.
Installs: 201
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Type:libray
Requires
- php: ^7.0
- illuminate/support: 5.6.*|5.7.*|5.8.*|6.*
This package is auto-updated.
Last update: 2021-06-05 20:26:19 UTC
README
Intalacion Toster
Requicitos minimos
- illuminate/support: 5.6.|5.7.|6.*
- php: ^7.0
Ejecutar comando
composer require ostheneo/toaster
o agrega a tu composer.json lo siguiente
"ostheneo/toaster": "dev-master"
y ejecuta composer update
-
luego ejecuta el siguiente comando para publicar todas las opciones de configuracion, personalizacion y demas que dispone el Toster. Estos son los archivos que se publicaran.
`php artisan vendor:publish --provider=OsTheNeo\Toaster\ToasterServiceProvider`
-
resources/views/vendor/Toaster (vistas)
`php artisan vendor:publish --tag=views`
-
resources/lang (diccionrio para multiples lenguajes)
`php artisan vendor:publish --tag=dictionary`
-
config/toaster.php (archivo de configuracion)
`php artisan vendor:publish --tag=config`
-
Tambien puedes publicar cada uno usando el comando que se espesifico anteriormente, debajo de estos.
Implementando Usuarios y permisos
Para el manejo de usuarios y permisos, deves implementar la libreria Zizaco/entrust
Crear migraciones
-
Ejecuta el siguuiente comando para crear la migracion de la tabla “galery”
`php artisan make:migration toaster_create_galery_table --create=galery`
-
dentro de la funcion “up”, en la migracion creada, pega el siguiente codigo.
`Schema::create('gallery', function (Blueprint $table) { $table->increments('id');
$table->text('icon'); $table->text('images'); $table->integer('state'); $table->string('binded'); $table->string('videos',100); $table->timestamps(); });`
Luego ejecuta php artisan migrate. Con esto se creara la tabla “gallery” en la base de datos.
Crea la clase “Dictionary” con la siguiente estructura y los siguientes metodos.
`public static function alias($ask) {
$dictionary = (object)[
'productTable' => Product::class,
'variantTable' => Variant::class,
];
return $dictionary->$ask;
}
public static function replacemente($ask) {
/**estructura de datos para las tablas de purchase*/
$purchaseTables=[
'delivery_state' => ['kind' => 'group'],
'payment_state' => ['kind' => 'group'],
'state' => ['kind' => 'group'],
'note' => ['kind' => 'json','value' => 'datetime','splitData'=>'data:']];
$replacement = (object)[
'purchaseTable' =>$purchaseTables,
'purchaseTableBogota' => $purchaseTables,
'purchaseTableBogotaNorte' => $purchaseTables
];
if (isset($replacement->$ask))
return $replacement->$ask;
return null;
}
public static function groupDefinitions($group){//'0'=>'Pendiente de pago'
$groups = (object)([
'size' => ['0s' => 'Pequeño', '1s' => 'Mediano', '2s' => 'Grande'],
'delivery_state' => ['Pendiente de envío', 'Enviado', 'Recibido', 'Devuelto cliente', 'Devuelto despachadora'],
'payment_state' => ['0'=>'......','1'=>'Aprobado','2'=>'Rechazada','3'=>'En verificación','4'=>'Fallida',
'5'=>'N/D','6'=>'Reversada','7'=>'Retenida','8'=>'Iniciada','9'=>'Exprirada',
'10'=>'Abandonada','11'=>'Cancelada','12'=>'Antifraude'],
'state' => ['Pendiente', 'Aprobada', 'Cancelado usuario', 'Cancelado administrador'],
'cities'=>config('store.cities'),
'states'=>['1'=>'Activado','0'=>'Desactivado'],
]);
if (isset($groups->$group)) {
return $groups->$group;
}
return null;
}
public static function groupCustomDefinitions($group,$parameters,$data){
$item='Indefinido';
switch ($parameters['from']){
case 'DB':
if(isset($parameters['data']['where'])){
$key=$parameters['data']['where'];
$parameters['data']['where']=[$key=>$data['row']->$group];
}
$item=BladeEngine::makeOptions($parameters['data'])->toArray()[$data['value']];
break;
case 'group':
$item=self::groupDefinitions($parameters['table'])[$group][$data['value']];
break;
}
return $item;
}
/**
* extra un dato de un json
*/
public static function jsonDefinitionValue($value,$key,$splitData=null){
if($splitData!=null) $value=explode($splitData,$value)[1];
$data=json_decode($value);
return $data->$key;
}`
Implementacion o modo de uso
Extiende del controlador “ToasterController”
class TuController extends ToasterController
impĺementar index
implementar create
implementar edit
implementar show