Compare commits

...

16 Commits

Author SHA1 Message Date
4f9378899b Problema risolto su editing categorie 2023-07-07 15:00:47 +02:00
031e4957b4 Inizializzazione dei dropdown di categoria e tags 2023-07-07 13:36:33 +02:00
957cc88a3f commento su seeder permessi 2023-07-07 10:15:01 +02:00
6a26529bbf sistemazione dei seeder sia per le categorie di default che per i permessi 2023-07-07 10:12:47 +02:00
ff39c80f27 pulizia 2023-07-07 09:51:46 +02:00
e4f3834488 #4 Sistemato anche view per lista categorie 2023-07-07 09:21:39 +02:00
beec4b8dce #4 suddivisione categorie per entrata/uscita rivisto inserimento e modifica. 2023-07-07 09:15:26 +02:00
a773b825d0 Merge branch 'devel' 2023-07-06 19:18:51 +02:00
69b93bc3f6 Merge branch 'devel' 2023-07-06 15:34:34 +02:00
ea11579670 Aggiustato i return back dalle operazioni ai movimenti 2023-07-06 15:19:47 +02:00
03449a5c27 Merge del branch devel 2023-07-06 13:46:14 +02:00
d3f0695866 Merging 'devel' branch 2023-07-06 12:16:16 +02:00
83ccd7ec19 Merge branch 'master' of https://bitbucket.org/FlavioBarachino/bubofamily 2023-06-20 16:17:07 +02:00
f90974ba09 problema che mi sono tagliato fuori l'utente amministrativo 2023-06-20 11:14:15 +02:00
36a863eafd Merge branch 'master' of https://bitbucket.org/FlavioBarachino/bubofamily 2023-06-20 11:06:25 +02:00
7f80290ff8 Aggiunto OnlySeeder 2023-06-20 11:06:08 +02:00
11 changed files with 297 additions and 89 deletions

View File

@ -18,7 +18,7 @@ class CategorieController extends Controller
public static function insCategorie(Request $request)
{
Categorie::inserisci($request['cat_name']);
Categorie::inserisci($request);
return view('conti.categorie.list',['categorie'=>Categorie::list()]);
}
@ -32,7 +32,7 @@ class CategorieController extends Controller
public function updatePostCategorie(Request $request)
{
Categorie::updateNameById($request['id'],$request['cat_name']);
Categorie::updateNameById($request);
return redirect(route('categorie'));
}

View File

@ -123,20 +123,6 @@ class MovimentiController extends Controller
]);
}
/*public function updateMovimenti(Request $request)
{
$id=$request['id'];
$mov=Movimenti::getMovimentoById($id);
$categorie=Categorie::list();
$tags=tag::getList();
return view('conti.movimenti.update',
[
'categorie'=> $categorie,
'movimenti'=> $mov,
'tags'=>$tags,
]);
}*/
public function updatePostMovimenti(Request $request)
{
Movimenti::updateMovimenti($request);

View File

@ -22,22 +22,44 @@ class Categorie extends Model
public static function listSpesa()
{
return DB::table('categories')->where('cat_uscita','=',1)->get();
return DB::table('categories')->where('cat_uscita','=',1)->orderBy('cat_name')->get();
}
public static function listEntrata()
{
return DB::table('categories')->where('cat_entrata','=',1)->get();
return DB::table('categories')->where('cat_entrata','=',1)->orderBy('cat_name')->get();
}
public static function inserisci($name){
return DB::table('categories')->insert(['cat_name'=> $name]);
public static function inserisci($request){
if ($request['cat_entrata']==='on')
{
$entrata=1;
}
else
{
$entrata=0;
}
if ($request['cat_uscita']==='on')
{
$uscita=1;
}
else
{
$uscita=0;
}
return DB::table('categories')->insert([
'cat_name'=> $request['cat_name'],
'cat_entrata'=>$entrata,
'cat_uscita'=>$uscita
]);
}
public static function deleteById($id){
DB::table('categories')
->where('id','=', $id)
->delete();
DB::table('categories')
->where('id','=', $id)
->delete();
}
public static function getById($id) {
@ -46,11 +68,31 @@ class Categorie extends Model
->get();
}
public static function updateNameById($id,$name) {
public static function updateNameById($request) {
if ($request['cat_entrata']==='on')
{
$entrata=1;
}
else
{
$entrata=0;
}
if ($request['cat_uscita']==='on')
{
$uscita=1;
}
else
{
$uscita=0;
}
DB::table('categories')
->where('id','=', $id)
->where('id','=', $request['id'])
->update([
'cat_name' => $name,
'cat_name' => $request['cat_name'],
'cat_entrata' => $entrata,
'cat_uscita'=>$uscita,
]);
}

View File

@ -10,6 +10,8 @@ use Rap2hpoutre\FastExcel\FastExcel;
class Movimenti extends Model
{
use HasFactory;
protected $dates = ['mov_data'];
protected $casts = [ 'mov_data'=>'datetime'];
public static function getList() {
return DB::table('movimentis')
@ -179,7 +181,8 @@ class Movimenti extends Model
if($line['DARE']<>'')
{
$dati=[
'mov_data'=>self::dateFormat(0,$line['VALUTA']),
'mov_data'=>self::dateFormat(0,$line['VALUTA']), // date_format(date_create($movimento->mov_data),'d/m/Y'
// 'mov_data'=>date_format(date_create($line['VALUTA']),'Y-m-d'),
'mov_fk_categoria'=>1,
'mov_descrizione'=>$line['DESCRIZIONE OPERAZIONE'],
'mov_importo'=>'-'.trim(str_replace(',','.',(str_replace('.','',$line['DARE'])))),
@ -191,6 +194,7 @@ class Movimenti extends Model
{
$dati=[
'mov_data'=>self::dateFormat(0,$line['VALUTA']),
//'mov_data'=>date_format(date_create($line['VALUTA']),'Y-m-d'),
'mov_fk_categoria'=>1,
'mov_descrizione'=>$line['DESCRIZIONE OPERAZIONE'],
'mov_importo'=>trim(str_replace(',','.',(str_replace('.','',$line['AVERE'])))),
@ -216,11 +220,11 @@ class Movimenti extends Model
if($type)
{
$string=$string->format('Y-m-d');
// $string=$string->format('Y-m-d');
list($year,$month,$day) = explode('-',$string);
return $day.'/'.$month.'/'.$year;
} else {
$string=$string->format('d/m/Y');
// $string=$string->format('d/m/Y');
list($day,$month,$year) =explode('/',$string);
return $year.'-'.$month.'-'.$day;
}

View File

@ -16,13 +16,23 @@ class CategorieSeeder extends Seeder
{
// Inserisce le categorie necessarie
DB::table('categories')->insert(
['cat_name'=>'Automobili']
[
'cat_name'=>'Automobili',
'cat_uscita'=>1,
'cat_entrata'=>0,
]
);
DB::table('categories')->insert(
['cat_name'=>'Stipendio']
[
'cat_name'=>'Stipendio',
'cat_uscita'=>0,
'cat_entrata'=>1]
);
DB::table('categories')->insert(
['cat_name'=>'Utenze']
[
'cat_name'=>'Utenze',
'cat_uscita'=>1,
'cat_entrata'=>0]
);
}
}

View File

@ -0,0 +1,84 @@
<?php
namespace Database\Seeders;
use App\Models\User;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\Hash;
use Spatie\Permission\Models\Permission;
use Spatie\Permission\Models\Role;
use Spatie\Permission\PermissionRegistrar;
class OnlySeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
// Role Creation
$role_admin = Role::create([
'name' => 'admin'
]);
$role_user = Role::create([
'name' => 'user'
]);
$role_guest = Role::create([
'name' => 'guest'
]);
// Permission Creation
Permission::create([
'name' => 'conti'
]);
Permission::create([
'name' => 'consumi'
]);
Permission::create([
'name' => 'automobili'
]);
Permission::create([
'name' => 'contatti'
]);
Permission::create([
'name' => 'affitti'
]);
Permission::create([
'name' => 'progetti'
]);
Permission::create([
'name' => 'amministrazione'
]);
// Assegnazione permessi al ruolo user
$role_user->givePermissionTo('affitti');
$role_user->givePermissionTo('automobili');
$role_user->givePermissionTo('contatti');
$role_user->givePermissionTo('consumi');
$role_user->givePermissionTo('conti');
$role_user->givePermissionTo('progetti');
// Assegnazione permessi al ruolo guest
$role_guest->givePermissionTo('affitti');
// Il ruolo admin ha già tutti i permessi da middleware
$admin = User::create([
'name'=>'Amministratore',
'email'=>'admin@localhost.local',
'password'=>Hash::make('admin'),
])->assignRole('admin');
$user = User::create([
'name'=>'Utente',
'email'=>'user@localhost.local',
'password'=>Hash::make('user'),
])->assignRole('user');
$guest = User::create([
'name'=>'Guest',
'email'=>'guest@localhost.local',
'password'=>Hash::make('guest'),
])->assignRole('guest');
}
}

View File

@ -13,19 +13,38 @@ $(document).ready(function() {
responsive: true
});
});
$(document).on('click','.open_modal',function(){
var url = "/admin/categorie/modify";
var riga_id= $(this).val();
$.getJSON(url + '/' + riga_id, function (data) {
//success data
$('#cat_entrata').prop('checked', false);
$('#cat_uscita').prop('checked', false);
console.log(data[0]);
console.log(data[0].cat_name);
$('#H_cat_cat_name').val(data[0].cat_name);
if (data[0].cat_uscita === 1)
{
// $('.myCheckbox').prop('checked', true);
$('#cat_uscita').prop('checked', true);
}
if (data[0].cat_entrata ===1)
{
$('#cat_entrata').prop('checked', true);
}
$('#H_cat_id').val(data[0].id);
$('#H_cat_cat_name').val(data[0].cat_name);
$('#myModal').modal('show');
});
});
$(document).on('click','.open_modal_new',function(){
console.log('richiesto apertura form');
$('#myModal_new').modal('show');
});

View File

@ -24,24 +24,32 @@ var strDate = d.getFullYear() + '-' +
$(document).on('click', '.open_modal_spesa', function() {
console.log(strDate);
$("#categoria").empty();
$("#tags").empty();
$('#form').find('input[type="text"], textarea, input[type="number"],input[type="date"],option').val("");
$('#form').find('input[type="date"]').val(strDate);
$('#myModal').modal('show');
$('.modal-title').text(' Nuovo movimento in uscita');
$('#form').attr('action', '/admin/movimenti/spesa');
$.getJSON("/admin/service/catlistSpesa", {}, function(data) {
$.each(data, function(i, item) {
$.getJSON("/admin/service/catlistSpesa", {}, function(cats) {
$.each(cats, function(i, cat) {
$("select[name='mov_fk_categoria']").append(
new Option(item.cat_name, item.id)
new Option(cat.cat_name, cat.id)
)
}
);
});
$.getJSON("/admin/service/taglist", {}, function(tags) {
$.each(tags, function(i, tag) {
$("select[name='mov_fk_tags']").append(
new Option(tag.tag_name, tag.id)
)
});
});
});
$(document).on('click', '.open_modal_entrata', function() {
console.log(strDate);
$("#categoria").empty();
$("#tags").empty();
$('#form').find('input[type="text"], textarea, input[type="number"],option').val("");
$('#form').find('input[type="date"]').val(strDate);
$('#myModal').modal('show');
@ -55,48 +63,64 @@ $(document).on('click', '.open_modal_entrata', function() {
}
);
});
$.getJSON("/admin/service/taglist", {}, function(data) {
$.each(data, function(i, item) {
$("select[name='mov_fk_tags']").append(
new Option(item.tag_name, item.id)
)
});
});
});
$(document).on('click', '.open_modal_modifica', function() {
var url = "/admin/movimenti/modify";
var riga_id = $(this).val();
$("#categoria").empty();
$("#tags").empty();
$.getJSON(url + '/' + riga_id, function(data) {
// success data
console.log(data[0]);
$.getJSON("/admin/service/taglist", {}, function(tags) {
$.each(tags, function(i, tag) {
$("select[name='mov_fk_tags']").append(
new Option(tag.tag_name, tag.id)
)
$('#tags')
.find('option:contains(' + data[0].tag_name + ')')
.prop('selected', true)
.trigger('change');
});
});
$.getJSON("/admin/service/catlist", {}, function(cats) {
$.each(cats, function(i, cat) {
$("select[name='mov_fk_categoria']").append(
new Option(cat.cat_name, cat.id)
)
$('#categoria')
.find('option:contains(' + data[0].cat_name + ')')
.prop('selected', true)
.trigger('change');
}
);
});
$('.modal-title').text('Modifica movimento');
$('#data').val(data[0].mov_data);
$('#descrizione').val(data[0].mov_descrizione);
$('#importo').val(data[0].mov_importo);
$('#tags')
.find('option:contains(' + data[0].tag_name + ')')
.prop('selected', true)
.trigger('change');
$('#categoria')
.find('option:contains(' + data[0].cat_name + ')')
.prop('selected', true)
.trigger('change');
$('#myModal').modal('show');
// $('.panel-heading').text('Modifica movimento');
$('#form').attr('action', '/admin/movimenti/modify');
$('#form').append('<input type="hidden" name="id" value="' + riga_id + '">');
});
$.getJSON("/admin/service/catlist", {}, function(data) {
$.each(data, function(i, item) {
$("select[name='mov_fk_categoria']").append(
new Option(item.cat_name, item.id)
)
}
);
});
});
$.getJSON("/admin/service/taglist", {}, function(data) {
/*$.getJSON("/admin/service/taglist", {}, function(data) {
$.each(data, function(i, item) {
$("select[name='mov_fk_tags']").append(
new Option(item.tag_name, item.id)
)
});
});
});*/

View File

@ -21,6 +21,7 @@
<thead>
<tr>
<th>Categoria</th>
<th>Classificazione</th>
<th>Azione</th>
</tr>
</thead>
@ -30,6 +31,14 @@
<td><a
href="movimenti/report/movimentibycat?cat={{ $categoria->id }}">{{
$categoria->cat_name; }}</a></td>
<td>
@if($categoria->cat_entrata == 1)
Entrata ,
@endif
@if($categoria->cat_uscita == 1)
Uscita
@endif
</td>
<td>
<button class="btn btn-warning btn-detail open_modal"
value="{{$categoria->id}}">Edit</button>&nbsp; <a
@ -47,38 +56,54 @@
</div>
</div>
</div>
</div>
<!-- MODAL MODIFICA -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Modifica Categoria</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-8">
<form action="/admin/categorie/modify" method="POST">
@csrf <label for="H_cat_cat_name" class="form-label">Categoria</label>
<input type="text" class="form-control" id="H_cat_cat_name"
size="50" name="cat_name" value="" size="50">
<!-- MODAL MODIFICA -->
<div class="modal fade" id="myModal" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<form action="/admin/categorie/modify" method="POST">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Modifica Categoria</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-8">
@csrf
<label for="H_cat_cat_name" class="form-label">Categoria</label>
<input type="text" class="form-control" id="H_cat_cat_name" size="50" name="cat_name">
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="cat_entrata" name="cat_entrata" >
<label class="form-check-label" for="cat_entrata">Entrata</label>
</div>
</div>
<div class="col-md-4">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="cat_uscita" name="cat_uscita">
<label class="form-check-label" for="cat_uscita">Uscita</label>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<input type="hidden" name="id" id="H_cat_id">
<button type="submit" class="btn btn-primary">Modifica</button>
</div>
</div>
<div class="modal-footer">
<input type="hidden" name="id" id="H_cat_id">
<button type="submit" class="btn btn-primary">Modifica</button>
</div>
</form>
</form>
</div>
</div>
</div>
<!-- FINE MODAL MODIFICA -->
<!-- MODAL INSERIMENTO -->
<div class="modal fade" id="myModal_new" tabindex="-1" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true">
<!-- FINE MODAL MODIFICA -->
<!-- MODAL INSERIMENTO -->
<div class="modal fade" id="myModal_new" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
@ -89,11 +114,26 @@
<div class="col-md-8">
<!-- FORM INSERIMENTO NUOVA CATEGORIA -->
<form action="" method="POST">
@csrf <label for="categoria" class="form-label">Categoria</label>
@csrf
<label for="categoria" class="form-label">Categoria</label>
<input type="text" class="form-control" id="categoria"
name="cat_name" size="50">
</div>
<div class="row">
<div class="col-md-4">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="cat_entrata" name="cat_entrata" >
<label class="form-check-label" for="cat_entrata">Entrata</label>
</div>
</div>
<div class="col-md-4">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" role="switch" id="cat_uscita" name="cat_uscita">
<label class="form-check-label" for="cat_uscita">Uscita</label>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
@ -103,11 +143,9 @@
</div>
</div>
</div>
</div>
</div>
<!-- FINE MODAL INSERIMENTO -->
<!-- /.col-lg-12 -->
@endsection

View File

@ -32,7 +32,7 @@
@foreach( $movimenti as $movimento )
<tr>
<!-- <td>{{ date_format(date_create($movimento->mov_data),'d/m/Y'); }}</td>-->
<td>{{$movimento->mov_data}}</td>
<td>{{ $movimento->mov_data}}</td>
<td>{{ $movimento->cat_name; }}</td>
<td>{{ $movimento->mov_descrizione; }}</td>
<td>&euro; {{ $movimento->mov_importo; }}</td>

View File

@ -123,6 +123,7 @@ Route::group(['middleware'=>['permission:amministrazione']], function(){
Route::post('users/new',[Utenti::class,'createUser']);
Route::get('users/roles',[Utenti::class,'listRoles']);
Route::get('users/delete/{id}',[Utenti::class,'deleteUser']);
//});
Route::get('users/givepermission',[Utenti::class,'givePermissionToUser']);
Route::post('users/givepermission',[Utenti::class,'assignPermission']);
Route::get('users/giverole',[Utenti::class,'giveRoleToUser']);