Merged
This commit is contained in:
Amministratore 2023-05-22 11:44:00 +02:00
commit b7bf393f3b
31 changed files with 1015 additions and 655 deletions

1
.gitignore vendored
View File

@ -14,5 +14,6 @@ Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
*.sql
/.idea
/.vscode

View File

@ -1,2 +1,2 @@
eclipse.preferences.version=1
include_path=0;/buboFamily
include_path=0;/BuboFamily

View File

@ -1,66 +1,39 @@
<p align="center"><a href="https://laravel.com" target="_blank"><img src="https://raw.githubusercontent.com/laravel/art/master/logo-lockup/5%20SVG/2%20CMYK/1%20Full%20Color/laravel-logolockup-cmyk-red.svg" width="400"></a></p>
# Gestionale di Famiglia
Piccolo sistema di gestione famigliare.
Al momento sono presenti:
<p align="center">
<a href="https://travis-ci.org/laravel/framework"><img src="https://travis-ci.org/laravel/framework.svg" alt="Build Status"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/dt/laravel/framework" alt="Total Downloads"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/v/laravel/framework" alt="Latest Stable Version"></a>
<a href="https://packagist.org/packages/laravel/framework"><img src="https://img.shields.io/packagist/l/laravel/framework" alt="License"></a>
</p>
- Gestione delle Entrate e uscite con possibilità di inserimento delle foto degli scontrini ed eventuali documenti in PDF.
- Possibilità di importare gli estratti conto da un file excel o csv.
- Un sistema di gestione delle letture dei contatori per il GAS e per l'Energia elettrica
- Un sistema di gestione delle autovetture e relative operazioni effettuate su di esse.
- Una rubrica telefonica e degli indirizzi
- Una gestione dei progetti (ancora in sviluppo)
- Una gestione degli utenti e dei gruppi e relativi permessi.
## About Laravel
*Sviluppato in php, mysql, jquery su framework Laravel*.
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
<<<<<<< HEAD
## Installazione
- clonare il repository
- copiare il file .env.example
- inserire le informazioni del database (username,password,dbname)
- lanciare >composer install
- lanciare php artisan migrate
- lanciare i seeds (categorie e utenti di default)
- [Simple, fast routing engine](https://laravel.com/docs/routing).
- [Powerful dependency injection container](https://laravel.com/docs/container).
- Multiple back-ends for [session](https://laravel.com/docs/session) and [cache](https://laravel.com/docs/cache) storage.
- Expressive, intuitive [database ORM](https://laravel.com/docs/eloquent).
- Database agnostic [schema migrations](https://laravel.com/docs/migrations).
- [Robust background job processing](https://laravel.com/docs/queues).
- [Real-time event broadcasting](https://laravel.com/docs/broadcasting).
## Sviluppatori
Flavio Barachino <flavio.barachino@lavorain.cloud>
Laravel is accessible, powerful, and provides tools required for large, robust applications.
### Vuoi partecipare?
Scrivimi con le tue proposte, le tue critiche, i tuoi suggerimenti.
## Learning Laravel
=======
## Sviluppatori
Flavio Barachino <flavio.barachino@lavorain.cloud>
Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework.
### Vuoi partecipare?
Scrivimi con le tue proposte, le tue critiche, i tuoi suggerimenti.
If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 1500 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library.
## Laravel Sponsors
We would like to extend our thanks to the following sponsors for funding Laravel development. If you are interested in becoming a sponsor, please visit the Laravel [Patreon page](https://patreon.com/taylorotwell).
### Premium Partners
- **[Vehikl](https://vehikl.com/)**
- **[Tighten Co.](https://tighten.co)**
- **[Kirschbaum Development Group](https://kirschbaumdevelopment.com)**
- **[64 Robots](https://64robots.com)**
- **[Cubet Techno Labs](https://cubettech.com)**
- **[Cyber-Duck](https://cyber-duck.co.uk)**
- **[Many](https://www.many.co.uk)**
- **[Webdock, Fast VPS Hosting](https://www.webdock.io/en)**
- **[DevSquad](https://devsquad.com)**
- **[Curotec](https://www.curotec.com/services/technologies/laravel/)**
- **[OP.GG](https://op.gg)**
- **[CMS Max](https://www.cmsmax.com/)**
- **[WebReinvent](https://webreinvent.com/?utm_source=laravel&utm_medium=github&utm_campaign=patreon-sponsors)**
- **[Lendio](https://lendio.com)**
- **[Romega Software](https://romegasoftware.com)**
## Contributing
Thank you for considering contributing to the Laravel framework! The contribution guide can be found in the [Laravel documentation](https://laravel.com/docs/contributions).
## Code of Conduct
In order to ensure that the Laravel community is welcoming to all, please review and abide by the [Code of Conduct](https://laravel.com/docs/contributions#code-of-conduct).
## Security Vulnerabilities
If you discover a security vulnerability within Laravel, please send an e-mail to Taylor Otwell via [taylor@laravel.com](mailto:taylor@laravel.com). All security vulnerabilities will be promptly addressed.
## License
The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
>>>>>>> 1b6609d0284a739053caeda9936ab9a9b8e7738e
> Written with [StackEdit](https://stackedit.io/).

View File

@ -28,16 +28,7 @@ class CategorieController extends Controller
Categorie::deleteById($request['id']);
return redirect(route('categorie'));
}
public function updateCategorie(Request $request)
{
$id=$request['id'];
$categorie = Categorie::getById($id);
return view('conti.categorie.update',
[
'categorie'=> $categorie,
]);
}
public function updatePostCategorie(Request $request)
{
@ -49,6 +40,12 @@ class CategorieController extends Controller
public function apiList()
{
$categorie=Categorie::list();
return response()->json($categorie);
return json_encode($categorie);
}
public function updateCategorie($id)
{
$categorie = Categorie::getById($id);
return json_encode($categorie);
}
}

View File

@ -13,8 +13,8 @@ class MovimentiController extends Controller
{
// Gestione dei movimenti
public static function newMovimenti() {
$categorie=Categorie::list();
$tags=tag::getList();
$categorie=Categorie::list(); // TODO: da risolvere con jquery nella pagina blade conti.movimenti.list
$tags=tag::getList(); // TODO: da risolvere con jquery nella pagina blade conti.movimenti.list (spiegazione su https://library.webschool.com/lezione/guida-jquery-recuperare-dati-da-php-con-json-2564.html )
return view('conti.movimenti.new',[
'categorie'=>$categorie,
'tags'=>$tags,
@ -37,9 +37,11 @@ class MovimentiController extends Controller
public static function dashboard()
{
$bilancio=Movimenti::getSaldo(date('Y'));
$bilancio=Movimenti::getSaldo(date('Y'));
$saldo=Movimenti::getSaldoTot();
return view('layouts.dashboard',[
'bilancio'=>$bilancio,
'saldo'=>$saldo,
]);
}
@ -117,7 +119,7 @@ class MovimentiController extends Controller
]);
}
public function updateMovimenti(Request $request)
/*public function updateMovimenti(Request $request)
{
$id=$request['id'];
$mov=Movimenti::getMovimentoById($id);
@ -129,7 +131,7 @@ class MovimentiController extends Controller
'movimenti'=> $mov,
'tags'=>$tags,
]);
}
}*/
public function updatePostMovimenti(Request $request)
{
@ -191,25 +193,22 @@ class MovimentiController extends Controller
->whereYear('mov_data','=',$anno)
->where('mov_fk_categoria','=',$id)
->sum('mov_importo');
$coll[]=$movrow;
$collx[]=$movrow;
//$coll[] = ['totale' => $movrow];
// $coll[]=array_push(array_sum($coll['totale']));
// $coll[]=array_push($coll,$totale);
}
$totale[]=array_sum($collx);
unset($collx);
}
/*dd($totale);*/
$anni=Movimenti::getYearsFromMovimenti();
// dd($anni);
return view('conti.report.catanno',[
'categorie'=>$categorie,
'mesi'=>$mesi,
'matrice'=>array_chunk($coll, 12),
'totale'=>$totale,
'anno'=>$anno
'anno'=>$anno,
'sel_anni'=>$anni,
]);
}
@ -234,8 +233,6 @@ class MovimentiController extends Controller
->whereYear('mov_data','=',$anno)
->where('mov_fk_categoria','=',$id)
->sum('mov_importo');
//$coll[] = str_replace(".",",",$movrow);
$coll[] = $movrow;
}
@ -314,5 +311,19 @@ class MovimentiController extends Controller
return view('conti.importCR');
}
public function test()
{
Movimenti::getYearsFromMovimenti();
}
public function manageRedirect(Request $request)
{
return redirect('/admin/reportbudget/'.$request['anno']);
}
public function updateMovimenti($id)
{
$mov=Movimenti::getMovimentoById($id);
return json_encode($mov);
}
}

View File

@ -5,13 +5,16 @@ namespace App\Http\Controllers;
use App\Models\Progetti;
use App\Models\User;
use Illuminate\Http\Request;
use App\Models\RigaProgetto;
class ProgettiController extends Controller
{
//
public function listaProgetto()
{
return view('progetti.list',[
/* $progetti=Progetti::getProgetti();
dd($progetti);*/
return view('progetti.list',[
'progetti'=>Progetti::getProgetti()
]);
}
@ -32,4 +35,15 @@ class ProgettiController extends Controller
return redirect(Route('progetti'));
}
public function dettaglioProgetto(Request $id)
{
$progetto_id=$id['id'];
$progetto = Progetti::getProgettoById($progetto_id);
$righe = RigaProgetto::getRigheProgetto($progetto_id);
$costo_tot=RigaProgetto::getCostoRighe($progetto_id);
return view('progetti.dettaglio',['dettaglio'=>$progetto, 'righe'=>$righe, 'tot'=>$costo_tot]);
//dd($righe);
}
}

View File

@ -0,0 +1,42 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\RigaProgetto;
class RigaProgettoController extends Controller
{
//
public function deleterow($id_row,$id_prog)
{
$id_riga = $id_row;
$id_progetto = $id_prog;
RigaProgetto::deleteRow($id_riga);
// Ritorna alla pagina dei dettagli del progetto
return redirect('/admin/progetti/detail/?id='.$id_progetto);
}
public function editRiga($id)
{
// modifica della riga inserita
//return redirect('/admin/progetti/editDetail');
$data=RigaProgetto::getRigaById($id);
return $data;
}
public function updateRiga(Request $data)
{
RigaProgetto::updateRiga($data);
$id_progetto=$data['fk_id_progetto'];
return redirect('/admin/progetti/detail/?id='.$id_progetto);
}
public function inserisciRiga(Request $args)
{
RigaProgetto::saveRiga($args);
return redirect(Route('detail',['id'=>$args['fk_id_progetto']]));
}
}

View File

@ -25,14 +25,10 @@ class TagController extends Controller
return view('components.calendar');
}
public function updateTag(Request $request)
public function updateTag($id)
{
$id=$request['id'];
$tags=tag::getById($id);
return view('conti.tags.update',
[
'tags'=> $tags,
]);
return json_encode($tags);
}
public function updatePostTag(Request $request)

View File

@ -11,7 +11,6 @@ class Movimenti extends Model
{
use HasFactory;
public static function getList() {
return DB::table('movimentis')
->join('categories','movimentis.mov_fk_categoria','=','categories.id')
@ -26,6 +25,10 @@ class Movimenti extends Model
return DB::table('movimentis')->whereYear('mov_data','=',$date)->sum('mov_importo');
}
public static function getSaldoTot() {
return DB::table('movimentis')->sum('mov_importo');
}
public static function insSpesa($request) {
DB::table('movimentis')->insert(
[
@ -145,7 +148,6 @@ class Movimenti extends Model
public static function importEstrattoIng($filename)
{
//$file = str_replace('/EC/','',$filename);
$inputPath='/var/www/html/bubofamily/public/storage/'.$filename;
$outputPath='/var/www/html/bubofamily/public/'.$filename;
rename($inputPath,$outputPath);
@ -153,8 +155,8 @@ class Movimenti extends Model
$collection = (new FastExcel)->import($filename, function ($line){
if($line['Data valuta'])
{
Movimenti::insEntrata([
'mov_data'=>Movimenti::dateFormat(0,$line['Data valuta']),
self::insEntrata([
'mov_data'=>self::dateFormat(0,$line['Data valuta']),
'mov_fk_categoria'=>1,
'mov_descrizione'=>$line['Descrizione operazione'],
'mov_importo'=>trim(str_replace(',','.',(str_replace('.','',str_replace('€', '', $line['Importo']))))),
@ -162,14 +164,11 @@ class Movimenti extends Model
'userid'=>1,
]);
}
});
//dd($outputPath);
}
public static function importEstrattoCR($filename)
{
//$file = str_replace('/EC/','',$filename);
$inputPath='/var/www/html/bubofamily/public/storage/'.$filename;
$outputPath='/var/www/html/bubofamily/public/'.$filename.'.csv';
rename($inputPath,$outputPath);
@ -180,7 +179,7 @@ class Movimenti extends Model
if($line['DARE']<>'')
{
$dati=[
'mov_data'=>Movimenti::dateFormat(0,$line['VALUTA']),
'mov_data'=>self::dateFormat(0,$line['VALUTA']),
'mov_fk_categoria'=>1,
'mov_descrizione'=>$line['DESCRIZIONE OPERAZIONE'],
'mov_importo'=>'-'.trim(str_replace(',','.',(str_replace('.','',$line['DARE'])))),
@ -191,7 +190,7 @@ class Movimenti extends Model
if($line['AVERE']<>'')
{
$dati=[
'mov_data'=>Movimenti::dateFormat(0,$line['VALUTA']),
'mov_data'=>self::dateFormat(0,$line['VALUTA']),
'mov_fk_categoria'=>1,
'mov_descrizione'=>$line['DESCRIZIONE OPERAZIONE'],
'mov_importo'=>trim(str_replace(',','.',(str_replace('.','',$line['AVERE'])))),
@ -199,13 +198,19 @@ class Movimenti extends Model
'userid'=>1,
];
}
Movimenti::insEntrata($dati);
// dd($dati);
self::insEntrata($dati);
}
});
//dd($outputPath);
}
public static function getYearsFromMovimenti()
{
$anni=DB::table('movimentis')->select(DB::raw('DISTINCT YEAR(mov_data) as anno'))->get();
// dd($anni); // for test purposes
return $anni;
}
private static function dateFormat($type,$string)
{
if($type)
@ -217,4 +222,5 @@ class Movimenti extends Model
return $year.'-'.$month.'-'.$day;
}
}
}

View File

@ -11,11 +11,27 @@ class Progetti extends Model
use HasFactory;
public static function getProgetti() {
return DB::table('progettis')->get();
return DB::table('progettis')
->select(
'progettis.id as progetto',
'users.id as userid',
'nome',
'name',
'descrizione',
'data_creazione',
'data_fine',
'budget',
'stato',
'note')
->join('users','progettis.fk_user','=','users.id')->get();
}
public static function getProgettoById($id){
return DB::table('progettis')->where('id','=',$id)->get();
return DB::table('progettis')->
join('users','progettis.fk_user','=','users.id')->
select('users.id as userid', 'users.name as name', 'progettis.*')->
where('progettis.id','=',$id)->
get();
}
public static function saveProgetto($progetto){

View File

@ -0,0 +1,53 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\DB;
class RigaProgetto extends Model
{
use HasFactory;
public static function getRigheProgetto($progetto_id)
{
return DB::table('riga_progettos')->where('fk_id_progetto','=',$progetto_id)->orderBy('data')->get();
}
public static function saveRiga($args)
{
DB::table('riga_progettos')->insert([
'fk_id_progetto'=>$args['fk_id_progetto'],
'data'=>$args['data'],
'descrizione'=>$args['descrizione'],
'prezzo'=>$args['prezzo'],
'ore'=>$args['ore'],
]);
}
public static function deleteRow($id)
{
DB::table('riga_progettos')->delete($id);
}
public static function getCostoRighe($id)
{
return DB::table('riga_progettos')->select(DB::raw('SUM(prezzo) as costo'))->where('fk_id_progetto','=',$id)->get();
}
public static function getRigaById($id)
{
return DB::table('riga_progettos')->where('id','=',$id)->get();
}
public static function updateRiga($data)
{
DB::table('riga_progettos')->where('id','=',$data['idriga'])->update([
'data'=>$data['data'],
'descrizione'=>$data['descrizione'],
'prezzo'=>$data['prezzo'],
'ore'=>$data['ore'],
]);
}
}

View File

@ -1,382 +0,0 @@
-- MySQL dump 10.13 Distrib 8.0.28, for Linux (x86_64)
--
-- Host: localhost Database: bubofamily_db
-- ------------------------------------------------------
-- Server version 8.0.28-0ubuntu0.21.10.3
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Current Database: `bubofamily_db`
--
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `bubofamily_db` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */;
USE `bubofamily_db`;
--
-- Table structure for table `anagraficas`
--
DROP TABLE IF EXISTS `anagraficas`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `anagraficas` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`ang_cognome` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`ang_nome` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`ang_ragioneSociale` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`ang_codiceFiscale` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`ang_partitaIva` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`ang_note` longtext COLLATE utf8mb4_unicode_ci,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `anagraficas`
--
LOCK TABLES `anagraficas` WRITE;
/*!40000 ALTER TABLE `anagraficas` DISABLE KEYS */;
/*!40000 ALTER TABLE `anagraficas` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `categories`
--
DROP TABLE IF EXISTS `categories`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `categories` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`cat_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `categories`
--
LOCK TABLES `categories` WRITE;
/*!40000 ALTER TABLE `categories` DISABLE KEYS */;
INSERT INTO `categories` VALUES (1,NULL,NULL,'Alimentari'),(2,NULL,NULL,'Abbigliamento'),(3,NULL,NULL,'Salute'),(4,NULL,NULL,'Casalinghi'),(5,NULL,NULL,'Vizi'),(6,NULL,NULL,'Hobbie'),(7,NULL,NULL,'Vacanze'),(8,NULL,NULL,'Benessere e Bellezza'),(9,NULL,NULL,'Macchinetta Caffè'),(10,NULL,NULL,'Stipendio'),(11,NULL,NULL,'Rimborsi'),(12,NULL,NULL,'Affitto'),(13,NULL,NULL,'Anticipi Affitto'),(14,NULL,NULL,'Spese bancarie'),(15,NULL,NULL,'Dolomiti Energia'),(16,NULL,NULL,'Acqua'),(17,NULL,NULL,'Internet'),(18,NULL,NULL,'Beneficenza Offerte'),(19,NULL,NULL,'Telefoni Cellulari'),(20,NULL,NULL,'Sport ed attività'),(21,NULL,NULL,'Automobile');
/*!40000 ALTER TABLE `categories` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `contatore_en_els`
--
DROP TABLE IF EXISTS `contatore_en_els`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `contatore_en_els` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`enel_date` date NOT NULL,
`enel_A` int NOT NULL,
`enel_R` int NOT NULL,
`enel_F1` int NOT NULL,
`enel_F2` int NOT NULL,
`enel_F3` int NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `contatore_en_els`
--
LOCK TABLES `contatore_en_els` WRITE;
/*!40000 ALTER TABLE `contatore_en_els` DISABLE KEYS */;
/*!40000 ALTER TABLE `contatore_en_els` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `contatore_gases`
--
DROP TABLE IF EXISTS `contatore_gases`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `contatore_gases` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`gas_date` date NOT NULL,
`gas_lettura` decimal(10,3) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `contatore_gases`
--
LOCK TABLES `contatore_gases` WRITE;
/*!40000 ALTER TABLE `contatore_gases` DISABLE KEYS */;
INSERT INTO `contatore_gases` VALUES (1,NULL,NULL,'2021-11-13',304.526),(2,NULL,NULL,'2021-11-14',307.251),(3,NULL,NULL,'2021-11-27',339.481),(4,NULL,NULL,'2021-12-18',450.030),(5,NULL,NULL,'2021-12-19',456.843),(6,NULL,NULL,'2021-12-27',503.762),(7,NULL,NULL,'2022-01-08',568.309),(8,NULL,NULL,'2022-02-11',760.517);
/*!40000 ALTER TABLE `contatore_gases` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `contattos`
--
DROP TABLE IF EXISTS `contattos`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `contattos` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`cnt_fk_anagraficaId` bigint unsigned NOT NULL,
`cnt_tipo` int NOT NULL,
`cnt_valore` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`cnt_note` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`),
KEY `contattos_cnt_fk_anagraficaid_foreign` (`cnt_fk_anagraficaId`),
CONSTRAINT `contattos_cnt_fk_anagraficaid_foreign` FOREIGN KEY (`cnt_fk_anagraficaId`) REFERENCES `anagraficas` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `contattos`
--
LOCK TABLES `contattos` WRITE;
/*!40000 ALTER TABLE `contattos` DISABLE KEYS */;
/*!40000 ALTER TABLE `contattos` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `failed_jobs`
--
DROP TABLE IF EXISTS `failed_jobs`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `failed_jobs` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`connection` text COLLATE utf8mb4_unicode_ci NOT NULL,
`queue` text COLLATE utf8mb4_unicode_ci NOT NULL,
`payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL,
`failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `failed_jobs`
--
LOCK TABLES `failed_jobs` WRITE;
/*!40000 ALTER TABLE `failed_jobs` DISABLE KEYS */;
/*!40000 ALTER TABLE `failed_jobs` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `migrations`
--
DROP TABLE IF EXISTS `migrations`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `migrations` (
`id` int unsigned NOT NULL AUTO_INCREMENT,
`migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`batch` int NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `migrations`
--
LOCK TABLES `migrations` WRITE;
/*!40000 ALTER TABLE `migrations` DISABLE KEYS */;
INSERT INTO `migrations` VALUES (1,'2014_10_12_000000_create_users_table',1),(2,'2014_10_12_100000_create_password_resets_table',1),(3,'2019_08_19_000000_create_failed_jobs_table',1),(4,'2019_12_14_000001_create_personal_access_tokens_table',1),(5,'2022_02_04_100210_create_tags_table',1),(6,'2022_02_04_134225_create_categories_table',1),(7,'2022_02_04_134245_create_movimentis_table',1),(8,'2022_02_08_093657_create_anagraficas_table',1),(9,'2022_02_08_122700_create_contattos_table',1),(10,'2022_02_12_153430_create_contatore_gases_table',1),(11,'2022_02_12_153454_create_contatore_en_els_table',1);
/*!40000 ALTER TABLE `migrations` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `movimentis`
--
DROP TABLE IF EXISTS `movimentis`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `movimentis` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`mov_data` date NOT NULL,
`mov_fk_categoria` bigint unsigned NOT NULL,
`mov_descrizione` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`mov_importo` decimal(8,2) NOT NULL,
`mov_inserito_da` bigint unsigned NOT NULL,
`mov_fk_tags` bigint unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `movimentis_mov_fk_categoria_foreign` (`mov_fk_categoria`),
KEY `movimentis_mov_inserito_da_foreign` (`mov_inserito_da`),
KEY `movimentis_mov_fk_tags_foreign` (`mov_fk_tags`),
CONSTRAINT `movimentis_mov_fk_categoria_foreign` FOREIGN KEY (`mov_fk_categoria`) REFERENCES `categories` (`id`),
CONSTRAINT `movimentis_mov_fk_tags_foreign` FOREIGN KEY (`mov_fk_tags`) REFERENCES `tags` (`id`),
CONSTRAINT `movimentis_mov_inserito_da_foreign` FOREIGN KEY (`mov_inserito_da`) REFERENCES `users` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `movimentis`
--
LOCK TABLES `movimentis` WRITE;
/*!40000 ALTER TABLE `movimentis` DISABLE KEYS */;
INSERT INTO `movimentis` VALUES (3,NULL,NULL,'2022-02-14',1,'Spesa all\'Aldi',-8.60,1,1),(7,NULL,NULL,'2022-02-15',18,'Prelievo automatico Telethon',-10.00,1,1),(8,NULL,NULL,'2022-02-14',19,'Prelievo automatico Iliad Cellulare',-5.99,1,3),(9,NULL,NULL,'2022-02-16',19,'Prelievo automatico Iliad Cellulare',-5.99,1,2),(10,NULL,NULL,'2022-02-11',20,'Piscina Giulio',-20.00,1,4),(11,NULL,NULL,'2022-02-11',1,'Spesa alimentari Aldi',-13.98,1,1),(12,NULL,NULL,'2022-02-11',1,'Spesa Poli',-22.40,1,1),(13,NULL,NULL,'2022-02-11',5,'Stecca sigarette Flavio',-48.00,1,2),(14,NULL,NULL,'2022-02-10',3,'Visita campo Visivo Paola',-19.00,1,3),(15,NULL,NULL,'2022-02-10',1,'Spesa alimentari Aldi',-50.09,1,1),(16,NULL,NULL,'2022-02-09',3,'Ticket Pronto soccorso Flavio',-50.00,1,2),(17,NULL,NULL,'2022-02-09',17,'Addebito Fibra Aruba.it mese Gennaio',-33.67,1,1),(18,NULL,NULL,'2022-02-08',9,'Macchinetta caffè e integrazione pranzi',-10.00,1,3),(19,NULL,NULL,'2022-02-06',1,'Formaggio caseificio Coredo',-50.00,1,1),(20,NULL,NULL,'2022-02-05',3,'Acquisto cerotti Diclofenac Farmacia Castelnuovo per Flavio',-15.90,1,2),(21,NULL,NULL,'2022-02-05',1,'Spesa alimentari ortoval (Silvia)',-28.00,1,1),(22,NULL,NULL,'2022-02-04',4,'Acquisto casalinghi e divertimenti Giulio',-12.62,1,1),(23,NULL,NULL,'2022-02-04',1,'Acquisto pesce Dallagiacoma',-45.86,1,1),(24,NULL,NULL,'2022-02-03',3,'Acquisto Lasonil e aspirina Farmacia comunale Castelnuovo',-15.45,1,1),(25,NULL,NULL,'2022-02-02',5,'Sigarette Flavio',-48.00,1,2),(26,NULL,NULL,'2022-02-02',1,'Spesa alimentari Daniele',-32.40,1,1),(27,NULL,NULL,'2022-02-01',19,'Addebito Iliad SIM Paola',-5.99,1,3),(28,NULL,NULL,'2022-02-16',6,'Abbonamento ad Audible',-9.99,1,1),(29,NULL,NULL,'2022-02-14',1,'Spesa all\'Aldi',-8.68,1,1),(31,NULL,NULL,'2022-02-01',12,'Affitto Cadine mese di Febbraio',600.00,1,1),(32,NULL,NULL,'2022-02-01',12,'Anticipo spese condominio',60.00,1,1),(33,NULL,NULL,'2022-02-17',21,'Pieno (serbatoio a metà) gasolio TIPO',-47.55,1,2);
/*!40000 ALTER TABLE `movimentis` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `password_resets`
--
DROP TABLE IF EXISTS `password_resets`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `password_resets` (
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
KEY `password_resets_email_index` (`email`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `password_resets`
--
LOCK TABLES `password_resets` WRITE;
/*!40000 ALTER TABLE `password_resets` DISABLE KEYS */;
/*!40000 ALTER TABLE `password_resets` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `personal_access_tokens`
--
DROP TABLE IF EXISTS `personal_access_tokens`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `personal_access_tokens` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`tokenable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`tokenable_id` bigint unsigned NOT NULL,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
`abilities` text COLLATE utf8mb4_unicode_ci,
`last_used_at` timestamp NULL DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `personal_access_tokens_token_unique` (`token`),
KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `personal_access_tokens`
--
LOCK TABLES `personal_access_tokens` WRITE;
/*!40000 ALTER TABLE `personal_access_tokens` DISABLE KEYS */;
/*!40000 ALTER TABLE `personal_access_tokens` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `tags`
--
DROP TABLE IF EXISTS `tags`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tags` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
`tag_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `tags`
--
LOCK TABLES `tags` WRITE;
/*!40000 ALTER TABLE `tags` DISABLE KEYS */;
INSERT INTO `tags` VALUES (1,NULL,NULL,'Casa'),(2,NULL,NULL,'Flavio'),(3,NULL,NULL,'Paola'),(4,NULL,NULL,'Giulio');
/*!40000 ALTER TABLE `tags` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `users`
--
DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `users` (
`id` bigint unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`email_verified_at` timestamp NULL DEFAULT NULL,
`password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `users_email_unique` (`email`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `users`
--
LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'Flavio Barachino','flavio.barachino@gmail.com',NULL,'$2y$10$cR7SkowifYAkxY0YXDvmj.rHF.t.n3cshgUbfCgaSLEFkW/Jyz.wa',NULL,'2022-02-14 06:08:16','2022-02-14 06:08:16');
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
-- Dump completed on 2022-02-20 10:21:13

View File

@ -0,0 +1,37 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateRigaProgettosTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('riga_progettos', function (Blueprint $table) {
$table->id();
$table->timestamps();
$table->date('data');
$table->longText('descrizione');
$table->decimal('prezzo',10,2)->nullable();
$table->decimal('ore',10,2)->nullable();
$table->unsignedBigInteger('fk_id_progetto');
$table->foreign('fk_id_progetto')->references('id')->on('progettis');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('riga_progettos');
}
}

View File

@ -57,7 +57,7 @@
</button>
<ul class="nav navbar-nav navbar-left navbar-top-links">
<li><a href="#"><i class="fa fa-home fa-fw"></i> Website</a></li>
<!--<li><a href="#"><i class="fa fa-home fa-fw"></i> Website</a></li>-->
</ul>
<ul class="nav navbar-right navbar-top-links">

View File

@ -8,7 +8,7 @@
<div class="container">
<!-- Content here -->
<div class="row">
<div class="col-lg-12">
<div class="col-lg-10">
<div class="panel panel-default">
<div class="panel-heading">
Contatto
@ -65,7 +65,7 @@
</tr>
</table >
</div>
<div class="col-lg-12">
<div class="col-lg-10">
<a class="btn btn-primary" href="addOther?id={{ $anagrafiche[0]->id }}">Nuovo Altro Contatto</i></a>
</div>
<div>
@ -99,10 +99,10 @@
@section('script')
<script>
$(document).ready(function() {
$('#contatti').DataTable({
responsive: true
});
});
</script>
$(document).ready(function() {
$('#contatti').DataTable({
responsive: true
});
});
</script>
@endsection

View File

@ -90,7 +90,11 @@
<tr>
<td>{{ $operazioni->data; }}</td>
<td>{{ $operazioni->km; }}</td>
<td>{{ $revisione[$operazioni->id][0]->superata; }}</td>
@if($revisione[$operazioni->id][0]->superata >0)
<td>Superata</td>
@else
<td>Non superata</td>
@endif
<td>{{ $revisione[$operazioni->id][0]->centrorevisione; }}</td>
<td>{{ $revisione[$operazioni->id][0]->descrizione; }}</td>
<td>{{ $revisione[$operazioni->id][0]->dataproxrevisione; }}</td>

View File

@ -14,7 +14,7 @@
</div>
<div class="panel-body">
<!-- Form -->
<form action="" method="POST">
<form action="" method="POST" id="form">
@csrf
<div class="row">
<div class="col-xs-6">
@ -23,7 +23,7 @@
</div>
<div class="col-xs-6">
<label for="km" class="form-label">Km</label>
<input type="text" class="form-control" id="km" name="km">
<input type="text" class="form-control" id="km" minlength="3" name="km">
</div>
</div>
<div class="row">
@ -56,7 +56,7 @@
<div class="col-xs-12">
<input type="hidden" name="type" value="rifornimento">
<input type="hidden" name="auto" value="{{ $dettagli->id; }}">
<button type="submit" class="btn btn-primary">Submit</button>
<button type="submit" id="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
@ -74,6 +74,7 @@
$('#automobili').DataTable({
responsive: true
});
$('#form').validate({rules: {km : {required:true, minlenght:3}}});
});
</script>
@endsection

View File

@ -7,17 +7,7 @@
</div>
<div class="container">
<!-- Content here -->
<form action="" method="POST">
@csrf
<div class="mb-3">
<label for="categoria" class="form-label">Categoria</label>
<input type="text" class="form-control" id="categoria" name="cat_name">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<button class="btn btn-warning btn-detail open_modal_new" > Nuova Categoria </button>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
@ -39,7 +29,7 @@
<tr>
<td><a href="movimenti/report/movimentibycat?cat={{ $categoria->id }}">{{ $categoria->cat_name; }}</a></td>
<td>
<a class="btn btn-primary" href="/admin/catmodify?id={{ $categoria->id; }}"><i class="fa fa-pencil-square-o fw"></i></a>&nbsp;
<button class="btn btn-warning btn-detail open_modal" value="{{$categoria->id}}">Edit</button>&nbsp;
<a class="btn btn-danger" href="/admin/catdelete?id={{ $categoria->id; }}"><i class="fa fa-trash-o fa-fw"></i></a>&nbsp;
</td>
</tr>
@ -52,17 +42,85 @@
</div>
</div>
</div>
<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="row">
<div class="col-lg-12">
<h1 class="page-header">Categorie</h1>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">Modifica categorie</div>
<div class="panel-body">
<form action="catmodify" method="POST">
@csrf
<div class="mb-3">
<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="">
</div>
<input type="hidden" name="id" id="H_cat_id" >
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<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">
<!-- FORM INSERIMENTO NUOVA CATEGORIA -->
<form action="" method="POST">
@csrf
<div class="mb-3">
<label for="categoria" class="form-label">Categoria</label>
<input type="text" class="form-control" id="categoria" name="cat_name">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<!-- FINE FORM INSERIMENTO NUOVA CATEGORIA -->
</div>
</div>
</div>
<!-- /.col-lg-12 -->
@endsection
@section('script')
<script>
$(document).ready(function() {
$('#categorie').DataTable({
responsive: true
});
$(document).ready(function() {
$('#categorie').DataTable({
responsive: true
});
$(document).on('click','.open_modal',function(){
var url = "catmodify";
var riga_id= $(this).val();
$.getJSON(url + '/' + riga_id, function (data) {
//success data
console.log(data[0]);
console.log(data[0].cat_name);
$('#H_cat_cat_name').val(data[0].cat_name);
$('#H_cat_id').val(data[0].id);
$('#myModal').modal('show');
});
});
$(document).on('click','.open_modal_new',function(){
$('#myModal_new').modal('show');
});
});
</script>
@endsection

View File

@ -12,7 +12,10 @@
Lista movimenti
</div>
<div class="panel-body">
<div class="row"><a class="btn btn-primary" href="{{ route('movimentis'); }}">Nuova Spesa</a>&nbsp;<a class="btn btn-primary" href="{{ route('movimentie'); }}">Nuova Entrata</a></div>
<div class="row">
<button class="btn btn-warning btn-detail open_modal_spesa">Nuova Spesa</button>&nbsp;
<button class="btn btn-warning btn-detail open_modal_entrata">Nuova Entrata</button</a>
</div>
<div class="row">
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover" id="listamovimenti" data-page-length='25'>
@ -33,7 +36,7 @@
<td>{{ $movimento->mov_descrizione; }}</td>
<td>&euro; {{ $movimento->mov_importo; }}</td>
<td>
<a class="btn btn-primary" href="/admin/movmodify?id={{ $movimento->id; }}"><i class="fa fa-pencil-square-o fw"></i></a>&nbsp;
<button class="btn btn-warning btn-detail open_modal_modifica" value="{{ $movimento->id; }}"><i class="fa fa-pencil-square-o fw"></i></button>&nbsp;
<a class="btn btn-danger" href="/admin/movdelete?id={{ $movimento->id; }}"><i class="fa fa-trash-o fa-fw"></i></a>&nbsp;
<a class="btn btn-warning" href="/admin/movdocs?id={{ $movimento->id; }}"><i class="fa fa-files-o fa-fw"></i></a>&nbsp;
<!-- Definisce quanti documenti sono presenti per il record -->
@ -49,6 +52,72 @@
</div>
</div>
</div>
<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="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">Nuovo movimento</div>
<div class="panel-body">
<form action="" method="POST" id="form">
@csrf
<div class="row">
<div class="col-xs-6">
<label for="data" class="form-label">Data</label> <input
type="date" class="form-control" id="data" name="mov_data"
value="{{ date('Y-m-d'); }}">
</div>
<div class="col-xs-6">
<label for="categoria" class="form-label">Categoria</label> <select
name="mov_fk_categoria" class="form-control selectpicker"
id="categoria" data-live-search="true"
data-live-search-placeholder="Cerca opzioni">
</select>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<label for="descrizione" class="form-label">Descrizione</label>
<input type="text" class="form-control" id="descrizione"
size="50" name="mov_descrizione">
</div>
</div>
<div class="row">
<div class="col-xs-5">
<label for="importo" class="form-label">Importo</label>
<div class="input-group">
<span class="input-group-addon"> <i class="fa fa-eur"></i>
</span> <input type="number" step="0.01" min="-999999"
max="999999" class="form-control" id="importo" size="50"
name="mov_importo" aria-describedby="importo">
</div>
</div>
<!-- <div id="importo" class="form-text">inserire l'importo (se spesa far precedere da il simbolo "-")</div>-->
<div class="col-xs-7">
<label for="tags" class="form-label">Tag</label> <select
name="mov_fk_tags" class="form-control" id="tags"></select>
</div>
</div>
<div class="row">
<div class="col-xs-12">&nbsp;</div>
</div>
<div class="row">
<div class="col-xs-12">
<input type="hidden" name="userid"
value="{{ Auth::user()->id }}">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('script')
@ -58,7 +127,56 @@
"responsive": true,
"order": [[0,"desc"]]
});
$(document).on('click','.open_modal_spesa',function(){
$('#myModal').modal('show');
$('.panel-heading').append(' spesa');
$('#form').attr('action','movimentis');
});
$(document).on('click','.open_modal_entrata',function(){
$('#myModal').modal('show');
$('.panel-heading').append(' entrata');
$('#form').attr('action','movimentie');
});
$(document).on('click','.open_modal_modifica',function(){
var url = "movmodify";
var riga_id= $(this).val();
$.getJSON(url + '/' + riga_id, function (data) {
// success data
console.log(data[0]);
$('#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/movmodify');
$('#form').append('<input type="hidden" name="id" value="' + riga_id +'">');
});
});
$.getJSON("service/catlist",{},function(data){
$.each(data,function(i,item){
$("select[name='mov_fk_categoria']").append(
new Option(item.cat_name,item.id)
)}
);
});
$.getJSON("service/taglist",{},function(data){
$.each(data,function(i,item){
$("select[name='mov_fk_tags']").append(
new Option(item.tag_name,item.id)
)}
);
});
});
</script>
@endsection

View File

@ -18,6 +18,17 @@
Rapporto spese per categoria nell'arco dell'anno {{ $anno ?? '' }}
</div>
<div class="panel-body">
<div class="row">
<form action="" method="POST">
@csrf
<select name="anno">
@foreach($sel_anni as $sel)
<option value="{{ $sel->anno }}">{{ $sel->anno }}</option>
@endforeach
</select>
<input type="submit" name="Seleziona">
</form>
</div>
<table class="table table-striped table-bordered table-hover" id="listrapporto">
<thead>
<tr>

View File

@ -1,54 +1,109 @@
@extends('admin')
@section('content')
@extends('admin') @section('content')
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Lista dei tag</h1>
</div>
</div>
<div class="col-lg-12">
<h1 class="page-header">Lista dei tag</h1>
</div>
</div>
<div class="container">
<!-- Content here -->
<form action="" method="POST">
@csrf
<div class="mb-3">
<label for="tag" class="form-label">Tag</label>
<input type="text" class="form-control" id="tag" name="tag_name">
</div>
<button type="submit" class="btn btn-primary">Inserisci nuovo Tag</button>
</form>
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover" id="tags">
<thead>
<tr>
<th>Tag</th>
<th>Azione</th>
</tr>
</thead>
<tbody>
@foreach($tags as $tag)
<tr>
<td><a href="movimenti/filter/tags?tag={{ $tag->id }}">{{ $tag->tag_name; }}</a></td>
<td>
<a class="btn btn-primary" href="/admin/tagmodify?id={{ $tag->id; }}"><i class="fa fa-pencil-square-o fw"></i></a>&nbsp;
<a class="btn btn-danger" href="/admin/tagdelete?id={{ $tag->id; }}"><i class="fa fa-trash-o fa-fw"></i></a>&nbsp;
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
<button class="btn btn-warning btn-detail open_modal_new">Nuovo Tag</button>
<div class="table-responsive">
<table class="table table-striped table-bordered table-hover"
id="tags">
<thead>
<tr>
<th>Tag</th>
<th>Azione</th>
</tr>
</thead>
<tbody>
@foreach($tags as $tag)
<tr>
<td><a href="movimenti/filter/tags?tag={{ $tag->id }}">{{
$tag->tag_name; }}</a></td>
<td><button class="btn btn-warning btn-detail open_modal" value="{{ $tag->id; }}">Edit</button>&nbsp; <a
class="btn btn-danger" href="/admin/tagdelete?id={{ $tag->id; }}"><i
class="fa fa-trash-o fa-fw"></i></a>&nbsp;</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<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="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">Modifica tags</div>
<div class="panel-body">
<form action="tagmodify" method="POST">
@csrf
<div class="mb-3">
<label for="tag_name" class="form-label">Tag</label> <input
type="text" class="form-control" id="tag_name" size="50"
name="tag_name" value="">
</div>
<input type="hidden" name="id" id="tag_id" value="">
<button type="submit" class="btn btn-primary">Submit</button>
<!-- /.col-lg-12 -->
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<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="row">
<div class="col-lg-12">
<form action="" method="POST">
@csrf
<div class="mb-3">
<label for="tag" class="form-label">Tag</label> <input
type="text" class="form-control" id="tag" name="tag_name">
</div>
<button type="submit" class="btn btn-primary">Inserisci nuovo Tag</button>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- /.col-lg-12 -->
@endsection
@section('script')
<script>
@endsection @section('script')
<script>
$(document).ready(function() {
$('#tags').DataTable({
responsive: true
});
$(document).on('click','.open_modal',function(){
var url = "tagmodify";
var riga_id= $(this).val();
$.getJSON(url + '/' + riga_id, function (data) {
//success data
console.log(data[0]);
console.log(data[0].tag_name);
$('#tag_name').val(data[0].tag_name);
$('#tag_id').val(data[0].id);
$('#myModal').modal('show');
});
});
$(document).on('click','.open_modal_new',function(){
$('#myModal_new').modal('show');
});
});
</script>
@endsection
@endsection

View File

@ -7,7 +7,7 @@
</div>
<div class="row">
<!-- WIDGET Bilancio -->
<div class="col-lg-3 col-md-6">
<div class="col-lg-4 col-md-8">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
@ -16,7 +16,7 @@
</div>
<div class="col-xs-9 text-right">
<div class="huge">{{ $bilancio }}</div>
<div>Bilancio attuale</div>
<div>Bilancio attuale anno {{ date('Y') }}</div>
</div>
</div>
</div>
@ -30,83 +30,37 @@
</div>
</div>
<!-- WIDGET -->
<div class="col-lg-3 col-md-6">
<div class="col-lg-4 col-md-8">
<div class="panel panel-green">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-balance-scale fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge">{{ $bilancio }}</div>
<div>Bilancio attuale</div>
</div>
<div class="col-xs-3">
<i class="fa fa-balance-scale fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge">{{ $saldo }}</div>
<div>Saldo attuale negli anni</div>
</div>
</div>
</div>
<a href="{{ route('budget');}}">
<a href="{{ route('budget'); }}">
<div class="panel-footer">
<span class="pull-left">Report annuo</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
<span class="pull-left">Report annuo</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<!-- WIDGET -->
<div class="col-lg-3 col-md-6">
<div class="panel panel-warning">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-balance-scale fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge">{{ $bilancio }}</div>
<div>Bilancio attuale</div>
</div>
</div>
</div>
<a href="{{ route('budget');}}">
<div class="panel-footer">
<span class="pull-left">Report annuo</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
<!-- WIDGET -->
<div class="col-lg-3 col-md-6">
<div class="panel panel-danger">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-balance-scale fa-5x"></i>
</div>
<div class="col-xs-9 text-right">
<div class="huge">{{ $bilancio }}</div>
<div>Bilancio attuale</div>
</div>
</div>
</div>
<a href="{{ route('budget');}}">
<div class="panel-footer">
<span class="pull-left">Report annuo</span>
<span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
<div class="clearfix"></div>
</div>
</a>
</div>
</div>
</div>
</div>
@endsection
@section('script')
<script>
$(document).ready(function() {
$('#categorie').DataTable({
responsive: true
});
});
</script>
$(document).ready(function() {
$('#categorie').DataTable({
responsive: true
});
});
</script>
@endsection

View File

@ -0,0 +1,66 @@
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap Modal Example in Laravel - Websolutionstuff</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>
<body>
<br>
<h3>Bootstrap Modal Example in Laravel - Websolutionstuff</h3>
<form method="post" action="#">
<br><br>
<table class="table-bordered table-striped" width="50%">
<thead>
<tr>
<th class="text-center">No.</th>
<th class="text-center">Name</th>
<th class="text-center"> Example</th>
</tr>
</thead>
<tbody>
<tr>
<td class="text-center">1</td>
<td class="text-center">Admin</td>
<td class="text-center"><button type="button" class="btn btn-primary m-2" data-toggle="modal" data-target="#demoModal">Click Here</button> </td>
</tr>
<tr>
<td class="text-center">2</td>
<td class="text-center">Test</td>
<td class="text-center"><button type="button" class="btn btn-primary m-2" data-toggle="modal" data-target="#demoModal">Click Here</button> </td>
</tr>
</tbody>
<!-- Modal Example Start-->
<div class="modal fade" id="demoModal" tabindex="-1" role="dialog" aria-labelledby="demoModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="demoModalLabel">Modal Example -
Websolutionstuff</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body">
Welcome, Websolutionstuff !!
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save
changes</button>
</div>
</div>
</div>
</div>
<!-- Modal Example End-->
</table>
<br>
</form>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>

View File

@ -0,0 +1,281 @@
@extends('admin') @section('content')
<div class="row">
<div class="col-lg-12">
<h1 class="page-header">Dettaglio Progetto</h1>
</div>
</div>
<div class="container">
<!-- Content here -->
<div class="row">
<div class="col-xs-12">
<a class="btn btn-primary" href="progetti/new"><i
class="fa fa-pencil-square-o fw"></i></a>
</div>
</div>
<div class="row">
<div class="col-xs-10">
<div class="panel panel-default">
<div class="panel-heading" id="dettaglio">Dettaglio Progetto</div>
<div class="panel-body">
@foreach($tot as $totale)
@endforeach
@foreach($dettaglio ?? '' as $progetto)
<div class="row">
<div class="col-xs-2">Nome:</div>
<div class="col-xs-8">
<b>{{ $progetto->nome; }}</b>
</div>
</div>
<div class="row" hidable="">
<div class="col-xs-2">Descrizione</div>
<div class="col-xs-8">
<b>{{ $progetto->descrizione; }}</b>
</div>
</div>
<div class="row" hidable="">
<div class="col-xs-2">Data Inizio</div>
<div class="col-xs-3">
<b>{{ date('d/m/Y',strtotime($progetto->data_inizio)) }}</b>
</div>
<div class="col-xs-2">Data Termine</div>
<div class="col-xs-3">
<b>{{ date('d/m/Y',strtotime($progetto->data_fine)) }}</b>
</div>
</div>
<div class="row" hidable="">
<div class="col-xs-2">Stato</div>
<div class="col-xs-3">
<b>{{ $progetto->stato }}</b>
</div>
<div class="col-xs-2">Data Creazione</div>
<div class="col-xs-3">
<b>{{ date('d/m/Y',strtotime($progetto->data_creazione)) }}</b>
</div>
</div>
<div class="row" hidable="">
<div class="col-xs-1">Budget</div>
<div class="col-xs-1">
<b>{{ $progetto->budget }}</b>
</div>
<div class="col-xs-1">Costi</div>
<div class="col-xs-1">
<b> {{ $totale->costo}}</b>
</div>
<div class="col-xs-1">Rimanenza</div>
<div class="col-xs-1">
<b>{{ $progetto->budget - $totale->costo}}</b>
</div>
<div class="col-xs-2">Coordinatore</div>
<div class="col-xs-3">
<b>{{ $progetto->name }}</b>
</div>
</div>
<div class="row" hidable="">
<div class="col-xs-2">Note</div>
<div class="col-xs-8">
<b>{{ $progetto->note; }}</b>
</div>
</div>
@endforeach
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-10">
<div class="panel panel-default">
<div class="panel-heading" id="form">Inserisci riga (click
show/hide)</div>
<div class="panel-body">
<form method="POST" action="">
<div class="row">
@csrf
<div class="col-xs-2">
<!-- Form per task con jquery e aggiunta righe automatica -->
<label for="tdata" class="form-label">data:</label> <input
type="date" name="data" class="form-control" id="data"
value="{{ date('Y-m-d') }}">
</div>
<div class="col-xs-5">
<!-- Form per task con jquery e aggiunta righe automatica -->
<label for="desc" class="form-label">descrizione:</label> <input
type="text" name="descrizione" class="form-control" id="desc">
</div>
<div class="col-xs-2">
<label for="ore" class="form-label">ore lavoro:</label>
<!-- Form per task con jquery e aggiunta righe automatica -->
<input type="text" name="ore" class="form-control" id="ore">
</div>
<div class="col-xs-2">
<label for="ore" class="form-label">prezzo:</label>
<!-- Form per task con jquery e aggiunta righe automatica -->
<input type="text" name="prezzo" class="form-control" id="ore">
</div>
<div class="col-xs-1">
<input type="hidden" name="fk_id_progetto" value="{{ $progetto->id }}">
<input type="submit" name="Submit" class="form-control">
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-10">
<div class="panel panel-default">
<div class="panel-heading" id="form">Elementi e costi del progetto</div>
</div>
<div class="panel-body">
<div class="row">
<table class="table table-striped table-bordered table-hover" id="tab_progetti">
<thead>
<tr>
<th>Data</th>
<th>Descrizione</th>
<th>Ore lavoro</th>
<th>Costo</th>
<th>Azioni</th>
</tr>
</thead>
<tbody>
@foreach($righe as $riga)
@if(isset($riga->data))
<tr>
<td>{{ date('d/m/Y',strtotime($riga->data)) }}</td>
<td>{{ $riga->descrizione }}</td>
<td>{{ $riga->ore }}</td>
<td>{{ $riga->prezzo }}</td>
<td><a href="delete_row/{{ $riga->id }}/return/{{ $progetto->id }}" class="btn btn-danger">X</a>
&nbsp;
<button class="btn btn-warning btn-detail open_modal" value="{{$riga->id}}">Edit</button>
</td>
</tr>
@else
<tr>
<td>non c'è</td>
<td>non c'è</td>
<td>non c'è</td>
<td>non c'è</td>
</tr>
@endif
@endforeach
</tbody>
</table>
<table>
<tr>
<td colspan="2"><strong>Totale</strong></td>
<td></td>
<td><strong>{{ $totale->costo}} &euro;</strong></td>
</tr>
</table>
</div>
</div>
</div>
</div>
<!-- MODAL -->
<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="panel-heading" id="form">Modifica Riga</div>
<div class="panel-body">
<form method="POST" action="rigaupdate">
<div class="row">
@csrf
<div class="col-xs-2">
<!-- Form per task con jquery e aggiunta righe automatica -->
<label for="tdata" class="form-label">data:</label> <input
type="date" name="data" class="form-control" id="data_u"
value="">
</div>
<div class="col-xs-5">
<!-- Form per task con jquery e aggiunta righe automatica -->
<label for="desc" class="form-label">descrizione:</label> <input
type="text" name="descrizione" class="form-control" id="desc_u"
value="">
</div>
<div class="col-xs-2">
<label for="ore" class="form-label">ore lavoro:</label>
<!-- Form per task con jquery e aggiunta righe automatica -->
<input type="text" name="ore" class="form-control" id="ore_u">
</div>
<div class="col-xs-2">
<label for="prezzo" class="form-label">prezzo:</label>
<!-- Form per task con jquery e aggiunta righe automatica -->
<input type="text" name="prezzo" class="form-control"
id="prezzo_u">
</div>
<div class="col-xs-1">
<input type="hidden" name="fk_id_progetto" id="id_progetto_u"> <input
type="hidden" name="idriga" id="idriga"> <input type="submit"
name="Submit" class="form-control">
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<!-- MODAL END -->
<!-- /.col-lg-12 -->
@endsection @section('script')
<script>
$(document).ready(function() {
$('#tab_progetti').DataTable({
responsive: true
});
$('#form').click(function(){
$('form').toggle();
});
$("#dettaglio").click(function(){
$('[hidable]').toggle();
});
$(document).on('click','.open_modal',function(){
var url = "detail/edit";
var riga_id= $(this).val();
$.get(url + '/' + riga_id, function (data) {
//success data
console.log(data);
console.log(data[0].descrizione);
$('#data_u').val(data[0].data);
$('#desc_u').val(data[0].descrizione);
$('#ore_u').val(data[0].ore);
$('#prezzo_u').val(data[0].prezzo);
$('#id_progetto_u').val(data[0].fk_id_progetto);
$('#idriga').val(data[0].id);
$('#myModal').modal('show');
})
});
});
</script>
@endsection

View File

@ -0,0 +1,45 @@
@extends('progetti.dettaglio')
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="panel-heading" id="form">Modifica Riga</div>
@
<div class="panel-body">
<form method="POST" action="">
<div class="row">
@csrf
<div class="col-xs-2">
<!-- Form per task con jquery e aggiunta righe automatica -->
<label for="tdata" class="form-label">data:</label> <input
type="date" name="data" class="form-control" id="data"
value="{{ $dato->data }}">
</div>
<div class="col-xs-5">
<!-- Form per task con jquery e aggiunta righe automatica -->
<label for="desc" class="form-label">descrizione:</label>
<input type="text" name="descrizione" class="form-control" id="desc" value="{{ $dato->descrizione }}">
</div>
<div class="col-xs-2">
<label for="ore" class="form-label">ore lavoro:</label>
<!-- Form per task con jquery e aggiunta righe automatica -->
<input type="text" name="ore" class="form-control" id="ore" value="{{ $dato->ore }}">
</div>
<div class="col-xs-2">
<label for="prezzo" class="form-label">prezzo:</label>
<!-- Form per task con jquery e aggiunta righe automatica -->
<input type="text" name="prezzo" class="form-control" id="prezzo" value="{{ $dato->prezzo }}">
</div>
<div class="col-xs-1">
<input type="hidden" name="fk_id_progetto" value="{{ $dato->fk_id_progetto }}">
<input type="submit" name="Submit" class="form-control">
</div>
</div>
</form>
</div>
</div>

View File

@ -37,13 +37,13 @@
<tbody>
@foreach($progetti ?? '' as $progetto)
<tr>
<td><a href="progetti/detail?id={{ $progetto->id }}">{{ $progetto->nome; }}</a></td>
<td><a href="progetti/detail?id={{ $progetto->progetto }}">{{ $progetto->nome; }}</a></td>
<td>{{ $progetto->data_creazione; }}</td>
<td>{{ $progetto->stato; }}</td>
<td>{{ $progetto->fk_user; }}</td>
<td>{{ $progetto->name; }}</td>
<td>{{ $progetto->budget; }}</td>
<td>
<a href="progetti/delete?id={{ $progetto->id }}" class="btn btn-danger">Cancella</a>
<a href="progetti/delete?id={{ $progetto->progetto }}" class="btn btn-danger">Cancella</a>
</td>
</tr>
@endforeach

View File

@ -8,6 +8,7 @@ use App\Http\Controllers\ContatoreEnElController;
use App\Http\Controllers\ContatoreGasController;
use App\Http\Controllers\DocumentiController;
use App\Http\Controllers\MovimentiController;
use App\Http\Controllers\RigaProgettoController;
use App\Http\Controllers\TagController;
use App\Http\Controllers\FullCalenderController;
use App\Http\Controllers\AutoController;
@ -29,7 +30,7 @@ Route::get('/', [MovimentiController::class,'dashboard']);
Route::get('logout', function(){ Auth::logout(); return redirect('login'); })->name('logout');
// MOVIMENTI
Route::get('movimentis', [MovimentiController::class,'newMovimenti'])->name('movimentis');
Route::post('movimentis',[MovimentiController::class,'insMovimentiSpesa']);
Route::get('movimentie', [MovimentiController::class,'newMovimenti'])->name('movimentie');
@ -37,31 +38,36 @@ Route::get('/', [MovimentiController::class,'dashboard']);
Route::get('movimenti',[MovimentiController::class,'listMovimenti'])->name('movimenti');
Route::get('export',[MovimentiController::class,'exportMovimenti'])->name('export');
Route::get('resoconto',[MovimentiController::class,'resocontoMovimenti'])->name('resoconto');
Route::get('movmodify',[MovimentiController::class,'updateMovimenti']);
Route::get('movmodify/{id}',[MovimentiController::class,'updateMovimenti']);
Route::post('movmodify',[MovimentiController::class,'updatePostMovimenti']);
Route::get('movdelete',[MovimentiController::class,'deleteMovimenti']);
Route::get('reportbudget',[MovimentiController::class,'reportCategorieAnno'])->name('budget');
Route::get('reportbudget/{anno?}',[MovimentiController::class,'reportCategorieAnno'])->name('budget');
Route::post('reportbudget/{anno?}',[MovimentiController::class,'manageRedirect']);
Route::get('reportbudgetxls',[MovimentiController::class,'reportCategorieAnnoXLS'])->name('budgetxls');
Route::get('movimenti/test', [MovimentiController::class,'test']);
// CATEGORIE
Route::get('categorie', [CategorieController::class,'listCategorie'])->name('categorie');
Route::post('categorie', [CategorieController::class,'insCategorie']);
Route::get('catdelete', [CategorieController::class,'deleteCategorie']);
Route::get('catmodify', [CategorieController::class,'updateCategorie']);
Route::get('catmodify/{id}', [CategorieController::class,'updateCategorie']);
Route::post('catmodify', [CategorieController::class,'updatePostCategorie']);
// Richiami di servizio da jquery
Route::get('service/catlist', [CategorieController::class,'apiList']);
Route::get('service/taglist', [TagController::class,'apiList']);
// TAGS
Route::get('tags', [TagController::class,'listTags'])->name('tags');
Route::post('tags', [TagController::class,'insTags']);
Route::get('tagmodify', [TagController::class,'updateTag']);
Route::get('tagmodify/{id}', [TagController::class,'updateTag']);
Route::post('tagmodify', [TagController::class,'updatePostTag']);
// CONSUMI
Route::get('letturegas', [ContatoreGasController::class,'listLettureGas'])->name('gas');
Route::post('letturegas', [ContatoreGasController::class,'insLettureGas']);
Route::get('lettureenel', [ContatoreEnElController::class,'listLettureEnel'])->name('enel');
Route::post('lettureenel', [ContatoreEnElController::class,'insLettureEnel']);
Route::get('movimenti/filter/tags',[MovimentiController::class,'filterByTag']);
// MOVIMENTI
Route::get('movimenti/filter/tags',[MovimentiController::class,'filterByTag']);
Route::get('movimenti/report/movimenti_categoria', [MovimentiController::class,'listMovPerCateg']);
Route::get('movimenti/report/movimentibycat', [MovimentiController::class,'listMovbyCat']);
Route::get('movdocs', [DocumentiController::class,'fileForm'])->name('documenti');
@ -70,7 +76,7 @@ Route::get('/', [MovimentiController::class,'dashboard']);
Route::post('movimenti/import', [MovimentiController::class,'importEC_ING']);
Route::get('movimenti/importcr', [MovimentiController::class,'importFileCR'])->name('importCR');
Route::post('movimenti/importcr', [MovimentiController::class,'importEC_CR']);
# Automobili
// AUTOMOBILI
Route::get('auto', [AutoController::class, 'index'])->name('auto_list');
Route::get('auto/new', [AutoController::class, 'newAuto'])->name('auto_new');
Route::post('auto/new', [AutoController::class, 'saveAuto'])->name('auto_save');
@ -86,8 +92,7 @@ Route::get('/', [MovimentiController::class,'dashboard']);
Route::post('auto/accessori', [AutoController::class, 'saveAccessori']);
Route::get('auto/operazioni', [AutoController::class, 'getOperazioni']);
Route::get('auto/operazioni/pdf', [AutoController::class, 'exportPdfOperazioni']);
// CONTATTI
// CONTATTI
Route::get('contatti', [AnagraficaController::class, 'listContact'])->name('contatti');
Route::get('contatti/new', [AnagraficaController::class, 'newContact'])->name('newContact');
Route::post('contatti/new', [AnagraficaController::class, 'insContact']);
@ -95,23 +100,24 @@ Route::get('/', [MovimentiController::class,'dashboard']);
Route::get('contatti/scheda', [AnagraficaController::class, 'getScheda']);
Route::get('contatti/addOther', [AnagraficaController::class, 'insOtherContact']);
Route::post('contatti/addOther', [AnagraficaController::class, 'saveOtherContact']);
// Gruppi e permessi
// Gruppi e permessi
Route::get('group/new', [Utenti::class, 'nuovoGruppo']);
Route::post('group/new', [Utenti::class, 'saveNuovoGruppo']);
Route::get('permesso/new', [Utenti::class, 'nuovoPermesso']);
Route::post('permesso/new', [Utenti::class, 'saveNuovoPermesso']);
Route::get('permesso/assign', [Utenti::class, 'vw_assignToGroup']);
Route::post('permesso/assign', [Utenti::class, 'assignPermissionToGroup']);
// Progetti
// Progetti
Route::get('progetti', [ProgettiController::class, 'listaProgetto'])->name('progetti');
Route::post('progetti/new', [ProgettiController::class, 'salvaProgetto']);
Route::get('progetti/new', [ProgettiController::class, 'nuovoProgetto'])->name('nuovoProgetto');
Route::get('progetti/delete',[ProgettiController::class, 'deleteProgetto']);
/// TEST routes
Route::get('progetti/delete_row/{id_row}/return/{id_prog}',[RigaProgettoController::class, 'deleterow']);
Route::get('progetti/detail', [ProgettiController::class, 'dettaglioProgetto'])->name('detail');
Route::post('progetti/detail', [RigaProgettoController::class, 'inserisciRiga']);
Route::get('progetti/detail/edit/{id}', [RigaProgettoController::class, 'editRiga']);
Route::post('progetti/rigaupdate', [RigaProgettoController::class, 'updateRiga']);
/// TEST routes
Route::get('fullcalendar', [FullCalenderController::class, 'index']);
Route::post('fullcalendar', [FullCalenderController::class, 'ajax']);
Route::get('condominio',[CondominioController::class,'testPdf']);

View File

@ -25,7 +25,4 @@ Auth::routes(['register' => false]); // Production only
// Auth::routes(); //development mode
Route::get('/calendar', [TagController::class,'calendartest'])->name('calendar');
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');
Auth::routes();
Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home');