Compare commits
No commits in common. "fdfba78d21847b02b31efdb0b20f27238b95c1ae" and "228b1b63bc128a0fa69de290217a806606ac4b0c" have entirely different histories.
fdfba78d21
...
228b1b63bc
6 changed files with 60 additions and 182 deletions
|
@ -7,7 +7,6 @@ use App\Helpers\CanastaHelper;
|
|||
use App\Helpers\CsvHelper;
|
||||
use App\Helpers\PedidosExportHelper;
|
||||
use App\Helpers\TransporteHelper;
|
||||
use App\Http\Resources\GrupoDeCompraComisionesResource;
|
||||
use App\Http\Resources\GrupoDeCompraResource;
|
||||
use App\Producto;
|
||||
use App\User;
|
||||
|
@ -21,7 +20,6 @@ use League\Csv\Exception;
|
|||
use League\Csv\InvalidArgument;
|
||||
use Mpdf\MpdfException;
|
||||
use Symfony\Component\HttpFoundation\BinaryFileResponse;
|
||||
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||
|
||||
class ComisionesController
|
||||
{
|
||||
|
@ -190,103 +188,59 @@ class ComisionesController
|
|||
}
|
||||
|
||||
public static function modificarGrupoDeCompra(Request $request, $grupo_de_compra_id) {
|
||||
$valid = $request->validate([
|
||||
$request->validate([
|
||||
'nombre' => ['nullable','string','regex:/^([a-z]| )+$/i'],
|
||||
'region' => ['nullable','string','regex:/^([a-z]| |\d)+$/i'],
|
||||
'passBarrio' => ['nullable','string','alpha_num','min:3'],
|
||||
'passAdmin' => ['nullable','string','alpha_num','min:3'],
|
||||
'passOllas' => ['nullable','string','alpha_num','min:3'],
|
||||
'passBarrio' => 'nullable|string|alpha_num',
|
||||
'passAdmin' => 'nullable|string|alpha_num',
|
||||
'passOllas' => 'nullable|string|alpha_num',
|
||||
]);
|
||||
$grupoDeCompra = GrupoDeCompra::find($grupo_de_compra_id);
|
||||
|
||||
foreach (array_keys($valid) as $key) {
|
||||
switch ($key) {
|
||||
case 'nombre':
|
||||
$users = User::where([
|
||||
'grupo_de_compra_id' => $grupoDeCompra->id,
|
||||
])->first();
|
||||
foreach ($users as $user) {
|
||||
$user->name = str_replace($grupoDeCompra->nombre, $valid['nombre'], $user->name);
|
||||
$user->save();
|
||||
}
|
||||
$grupoDeCompra->nombre = $valid['nombre'];
|
||||
$grupoDeCompra->save();
|
||||
break;
|
||||
case 'region':
|
||||
$grupoDeCompra->region = $valid['region'];
|
||||
$grupoDeCompra->save();
|
||||
break;
|
||||
case 'passBarrio':
|
||||
$user = User::where([
|
||||
'grupo_de_compra_id' => $grupoDeCompra->id,
|
||||
'role_id' => UserRole::where(['nombre' => 'barrio'])->first()->id,
|
||||
])->first();
|
||||
$user->password = Hash::make($valid['passBarrio']);
|
||||
$user->save();
|
||||
break;
|
||||
case 'passAdmin':
|
||||
$user = User::where([
|
||||
'grupo_de_compra_id' => $grupoDeCompra->id,
|
||||
'role_id' => UserRole::where(['nombre' => 'admin_barrio'])->first()->id,
|
||||
])->first();
|
||||
$user->password = Hash::make($valid['passAdmin']);
|
||||
$user->save();
|
||||
break;
|
||||
case 'passOllas':
|
||||
$user = User::where([
|
||||
'grupo_de_compra_id' => $grupoDeCompra->id,
|
||||
'role_id' => UserRole::where(['nombre' => 'ollas'])->first()->id,
|
||||
])->first();
|
||||
$user->password = Hash::make($valid['passOllas']);
|
||||
$user->save();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
if ($request["nombre"]) {
|
||||
$users = User::where([
|
||||
'grupo_de_compra_id' => $grupoDeCompra->id,
|
||||
])->get();
|
||||
foreach ($users as $user) {
|
||||
$user->name = str_replace($grupoDeCompra->nombre, $request['nombre'], $user->name);
|
||||
$user->save();
|
||||
}
|
||||
$grupoDeCompra->nombre = $request['nombre'];
|
||||
$grupoDeCompra->save();
|
||||
}
|
||||
|
||||
if ($request["region"]) {
|
||||
$grupoDeCompra->region = $request['region'];
|
||||
$grupoDeCompra->save();
|
||||
}
|
||||
|
||||
if ($request["passBario"]) {
|
||||
$user = User::where([
|
||||
'grupo_de_compra_id' => $grupoDeCompra->id,
|
||||
'role_id' => UserRole::where(['nombre' => 'barrio'])->first()->id,
|
||||
]);
|
||||
$user->password = Hash::make($request['passBario']);
|
||||
$user->save();
|
||||
}
|
||||
|
||||
if ($request["passAdmin"]) {
|
||||
$user = User::where([
|
||||
'grupo_de_compra_id' => $grupoDeCompra->id,
|
||||
'role_id' => UserRole::where(['nombre' => 'admin_barrio'])->first()->id,
|
||||
]);
|
||||
$user->password = Hash::make($request['passAdmin']);
|
||||
$user->save();
|
||||
}
|
||||
|
||||
if ($request["passOllas"]) {
|
||||
$user = User::where([
|
||||
'grupo_de_compra_id' => $grupoDeCompra->id,
|
||||
'role_id' => UserRole::where(['nombre' => 'ollas'])->first()->id,
|
||||
]);
|
||||
$user->password = Hash::make($request['passOllas']);
|
||||
$user->save();
|
||||
}
|
||||
|
||||
return response()->noContent();
|
||||
}
|
||||
|
||||
public static function crearGrupoDeCompra(Request $request) {
|
||||
$valid = $request->validate([
|
||||
'nombre' => ['required','string','regex:/^([a-z]| )+$/i'],
|
||||
'region' => ['required','string','regex:/^([a-z]| |\d)+$/i'],
|
||||
'passBarrio' => ['required','string','alpha_num','min:3'],
|
||||
'passAdmin' => ['required','string','alpha_num','min:3'],
|
||||
'passOllas' => ['required','string','alpha_num','min:3'],
|
||||
]);
|
||||
|
||||
if (GrupoDeCompra::where(["nombre" => $valid["nombre"]])->get()->count())
|
||||
throw new HttpException(400, "Ya existe un barrio con este nombre.");
|
||||
|
||||
$gdc = GrupoDeCompra::create([
|
||||
'nombre' => $valid['nombre'],
|
||||
'region' => $valid['region'],
|
||||
'saldo' => 0,
|
||||
]);
|
||||
|
||||
User::create([
|
||||
'grupo_de_compra_id' => $gdc->id,
|
||||
'name' => $valid['nombre'],
|
||||
'password' => Hash::make($valid['passBarrio']),
|
||||
'role_id' => UserRole::where('nombre','barrio')->first()->id,
|
||||
]);
|
||||
|
||||
User::create([
|
||||
'grupo_de_compra_id' => $gdc->id,
|
||||
'name' => $valid['nombre'] . '_admin',
|
||||
'password' => Hash::make($valid['passAdmin']),
|
||||
'role_id' => UserRole::where('nombre','admin_barrio')->first()->id,
|
||||
]);
|
||||
|
||||
User::create([
|
||||
'grupo_de_compra_id' => $gdc->id,
|
||||
'name' => $valid['nombre'] . '_ollas',
|
||||
'password' => Hash::make($valid['passOllas']),
|
||||
'role_id' => UserRole::where('nombre','ollas')->first()->id,
|
||||
]);
|
||||
|
||||
return new GrupoDeCompraComisionesResource($gdc);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,7 @@ class User extends Authenticatable
|
|||
* @var array
|
||||
*/
|
||||
protected $fillable = [
|
||||
'grupo_de_compra_id', 'name', 'email', 'password', 'role_id',
|
||||
'name', 'email', 'password', 'role_id',
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
|
@ -2,59 +2,21 @@
|
|||
import TablaBarrios from "./TablaBarrios.vue";
|
||||
import DropdownDescargar from "../DropdownDescargar.vue";
|
||||
import ModalBarrio from "./ModalBarrio.vue";
|
||||
import { mapActions, mapMutations, mapState } from "vuex";
|
||||
import Dropdown from "../../comunes/Dropdown.vue";
|
||||
import comisiones from "../../../store/modules/comisiones";
|
||||
import { mapState } from "vuex";
|
||||
|
||||
export default {
|
||||
name: "BarriosSeccion",
|
||||
components: { Dropdown, DropdownDescargar, TablaBarrios, ModalBarrio },
|
||||
data() {
|
||||
return {
|
||||
opcionesDescarga: [
|
||||
{
|
||||
nombre: "Pedidos por barrio en csv",
|
||||
href: "/comisiones/pedidos"
|
||||
},
|
||||
{
|
||||
nombre: "Notas por barrio en csv",
|
||||
href: "/comisiones/pedidos/notas"
|
||||
},
|
||||
{
|
||||
nombre: "Pedidos por barrio en pdf",
|
||||
href: "/comisiones/pedidos/pdf"
|
||||
},
|
||||
{
|
||||
nombre: "Pedidos de ollas en csv",
|
||||
href: "/comisiones/pedidos/ollas"
|
||||
},
|
||||
],
|
||||
};
|
||||
},
|
||||
components: { DropdownDescargar, TablaBarrios, ModalBarrio },
|
||||
computed: {
|
||||
...mapState("comisiones", ["grupo_de_compra_actual", "grupo_de_compra_nuevo"])
|
||||
},
|
||||
methods: {
|
||||
...mapMutations("ui", ["toggleModalBarrio"]),
|
||||
...mapMutations("comisiones", ["grupoDeCompraNuevo"]),
|
||||
modalNuevoBarrio() {
|
||||
this.grupoDeCompraNuevo();
|
||||
this.toggleModalBarrio();
|
||||
}
|
||||
...mapState("comisiones", ["grupo_de_compra_actual"])
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<modal-barrio v-if="grupo_de_compra_actual || grupo_de_compra_nuevo"/>
|
||||
<div class="is-flex is-justify-content-space-between mb-3">
|
||||
<button class="button" @click="modalNuevoBarrio">
|
||||
<span class="icon"><i class="fa fa-plus-circle"/></span>
|
||||
<span>Agregar barrio</span>
|
||||
</button>
|
||||
<dropdown :opciones="opcionesDescarga" placeholder="Descargar planillas" :is-right="false"/>
|
||||
</div>
|
||||
<modal-barrio v-if="grupo_de_compra_actual"/>
|
||||
<dropdown-descargar/>
|
||||
<tabla-barrios/>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<div class="modal-background"></div>
|
||||
<div class="modal-card">
|
||||
<header class="modal-card-head">
|
||||
<p class="modal-card-title">{{ titulo }}</p>
|
||||
<p class="modal-card-title">Modificar barrio</p>
|
||||
<button class="delete" aria-label="close" @click.capture="cerrar"></button>
|
||||
</header>
|
||||
<section class="modal-card-body">
|
||||
|
@ -40,7 +40,7 @@
|
|||
</section>
|
||||
<footer class="modal-card-foot is-justify-content-right">
|
||||
<button class="button" @click="cerrar">Cancelar</button>
|
||||
<button class="button is-success" @click="confirmar">Aceptar</button>
|
||||
<button class="button is-success" @click="modificar">Aceptar</button>
|
||||
</footer>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -62,32 +62,13 @@ export default {
|
|||
},
|
||||
computed: {
|
||||
...mapState('ui', ["show_modal_barrio"]),
|
||||
...mapState('comisiones', ["grupo_de_compra_actual", "grupo_de_compra_nuevo"]),
|
||||
titulo() {
|
||||
return this.grupo_de_compra_nuevo ? "Agregar barrio" : "Modificar barrio";
|
||||
}
|
||||
...mapState('comisiones', ["grupo_de_compra_actual"]),
|
||||
},
|
||||
methods: {
|
||||
...mapMutations("comisiones", ["seleccionarGrupoDeCompra"]),
|
||||
...mapMutations('ui', ["toggleModalBarrio"]),
|
||||
...mapActions("comisiones", ["modificarBarrio", "crearBarrio"]),
|
||||
...mapActions('ui', ["toast", "error"]),
|
||||
async confirmar() {
|
||||
if (this.grupo_de_compra_nuevo)
|
||||
await this.crear();
|
||||
else
|
||||
await this.modificar();
|
||||
this.cerrar();
|
||||
},
|
||||
async crear() {
|
||||
await this.crearBarrio({
|
||||
nombre: this.nombreControl,
|
||||
region: this.regionControl,
|
||||
passBarrio: this.passBarrio,
|
||||
passAdmin: this.passAdmin,
|
||||
passOllas: this.passOllas
|
||||
});
|
||||
},
|
||||
...mapActions("comisiones", ["modificarBarrio"]),
|
||||
...mapActions('ui', ["toast"]),
|
||||
async modificar() {
|
||||
const nombre = this.nombreControl !== this.grupo_de_compra_actual.nombre ? this.nombreControl : undefined;
|
||||
const region = this.regionControl !== this.grupo_de_compra_actual.region ? this.regionControl : undefined;
|
||||
|
@ -99,10 +80,11 @@ export default {
|
|||
passAdmin: this.passAdmin,
|
||||
passOllas: this.passOllas,
|
||||
})
|
||||
this.cerrar();
|
||||
},
|
||||
cerrar() {
|
||||
this.toggleModalBarrio();
|
||||
this.seleccionarGrupoDeCompra({ grupoDeCompra: false });
|
||||
this.seleccionarGrupoDeCompra(false);
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
|
|
23
resources/js/store/modules/comisiones.js
vendored
23
resources/js/store/modules/comisiones.js
vendored
|
@ -5,7 +5,6 @@ const state = {
|
|||
grupos_de_compra: [],
|
||||
parametros: [],
|
||||
grupo_de_compra_actual: undefined,
|
||||
grupo_de_compra_nuevo: false,
|
||||
};
|
||||
|
||||
const mutations = {
|
||||
|
@ -37,15 +36,7 @@ const mutations = {
|
|||
state.grupos_de_compra[i].nombre = nombre;
|
||||
if (region)
|
||||
state.grupos_de_compra[i].region = region;
|
||||
},
|
||||
grupoDeCompraNuevo(state) {
|
||||
state.grupo_de_compra_actual = {};
|
||||
state.grupo_de_compra_nuevo = true;
|
||||
},
|
||||
agregarGrupoDeCompra(state, grupo_de_compra) {
|
||||
state.grupos_de_compra.push(grupo_de_compra);
|
||||
state.grupo_de_compra_nuevo = false;
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
const actions = {
|
||||
|
@ -95,7 +86,7 @@ const actions = {
|
|||
dispatch("ui/error", { error: error }, { root: true });
|
||||
}
|
||||
},
|
||||
async modificarBarrio({ commit, dispatch }, { gdc_id, nombre, region, passBarrio, passAdmin, passOllas }) {
|
||||
async modificarBarrio({ commit, dispatch}, { gdc_id, nombre, region, passBarrio, passAdmin, passOllas }) {
|
||||
try {
|
||||
const data = {
|
||||
nombre: nombre,
|
||||
|
@ -111,16 +102,6 @@ const actions = {
|
|||
console.log(error);
|
||||
dispatch("ui/error", { error: error }, { root: true });
|
||||
}
|
||||
},
|
||||
async crearBarrio({ commit, dispatch }, data) {
|
||||
try {
|
||||
const response = await axios.post(`/comisiones/grupos-de-compra/`, data);
|
||||
commit('agregarGrupoDeCompra', response.data.data);
|
||||
dispatch("ui/toast", { mensaje: 'Barrio agregado con éxito'}, { root: true });
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
dispatch("ui/error", { error: error }, { root: true });
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -58,7 +58,6 @@ Route::middleware(['auth', 'role:comision'])->group( function() {
|
|||
Route::get('/comisiones/saldos/ejemplo', 'ComisionesController@descargarSaldosEjemplo')->name('comisiones.saldos.ejemplo');
|
||||
Route::post('/comisiones/saldos', 'ComisionesController@cargarSaldos')->name('comisiones.saldos');
|
||||
Route::put('/comisiones/parametros/{parametro_id}', 'ComisionesController@modificarParametros')->name('comisiones.parametros.modificar');
|
||||
Route::post('/comisiones/grupos-de-compra/', 'ComisionesController@crearGrupoDeCompra')->name('comisiones.gruposDeComrpa.crear');
|
||||
Route::put('/comisiones/grupos-de-compra/{grupo_de_compra_id}', 'ComisionesController@modificarGrupoDeCompra')->name('comisiones.gruposDeComrpa.modificar');
|
||||
Route::get('/comisiones/pedidos/{gdc}', 'AdminController@exportarPedidoACSV')->name('comisiones.pedidos.descargar.grupoDeCompra');
|
||||
Route::get('/comisiones/pedidos/{gdc}/ollas', 'AdminController@exportarPedidoOllasACSV')->name('comisiones.pedidos.ollas.grupoDeCompra');
|
||||
|
|
Loading…
Add table
Reference in a new issue