浏览代码

correzione bug

Roberto Santini 3 年前
父节点
当前提交
40e34e77ba

+ 14
- 86
app/Http/Controllers/IssueController.php 查看文件

@@ -24,12 +24,18 @@ class IssueController extends Controller
24 24
     'telefono.required' => "Devi indicare il telefono",
25 25
     'description.required' => "Devi inserire una descrizione della problematica",
26 26
     'accetto_condizioni.accepted' => 'Devi accettare le condizioni',
27
+    'allegato.size' => 'La dimensione massima è di 5Mb',
27 28
   ];
28 29
 
29 30
 
30 31
   public function index(IssueDataTable $dataTable){
31
-    $collection = Issue::getCollection();
32
+    $progettiUser = json_decode(Auth::user()->progetti);
33
+    if($progettiUser == null || count($progettiUser) == 0){
34
+      Session::flash('flash_message', "Nessun progetto disponbile!");
35
+      return redirect()->route('dashboard');
36
+    }
32 37
 
38
+    $collection = Issue::getCollection();
33 39
     return $dataTable->with(['issues' => $collection])->render('issue.index');
34 40
   }
35 41
 
@@ -72,90 +78,6 @@ class IssueController extends Controller
72 78
     }
73 79
   }
74 80
 
75
-  // public function firma($id){
76
-  //   $redmineUser = session('redmine_user');
77
-  //
78
-  //   // Issue details
79
-  //   $response_issue = Http::get(session('azienda')->redmine_url.'/issues/'.$id.'.json?include=attachments,relations', [
80
-  //     'key' => $redmineUser->api_key,
81
-  //   ]);
82
-  //   $issue = $response_issue->object()->issue;
83
-  //
84
-  //   // Activity
85
-  //   $response = Http::get(session('azienda')->redmine_url.'/enumerations/time_entry_activities.json', [
86
-  //     'key' => $redmineUser->api_key,
87
-  //   ]);
88
-  //
89
-  //   $attivita = array();
90
-  //   foreach($response->object()->time_entry_activities as $time_entry_activities){
91
-  //     if(!$time_entry_activities->active) continue;
92
-  //     $attivita[$time_entry_activities->id] = $time_entry_activities->name;
93
-  //   }
94
-  //
95
-  //   // issueStatus
96
-  //   $issueStatus = Issue::getStati();
97
-  //   // $response = Http::get(session('azienda')->redmine_url.'/issue_statuses.json', [
98
-  //   //   'key' => $redmineUser->api_key,
99
-  //   // ]);
100
-  //   //
101
-  //   // foreach($response->object()->issue_statuses as $issue_status){
102
-  //   //   $issueStatus[$issue_status->id] = $issue_status->name;
103
-  //   // }
104
-  //
105
-  //   // Altri tecnici
106
-  //   $response = Http::get(session('azienda')->redmine_url.'/projects/'.$issue->project->id.'/memberships.json', [
107
-  //     'key' => $redmineUser->api_key,
108
-  //   ]);
109
-  //
110
-  //   $memberships = $response->object()->memberships;
111
-  //   $altriTecnici = array();
112
-  //
113
-  //   try{
114
-  //     foreach($memberships as $membership){
115
-  //       if($membership->user->id == $redmineUser->id) continue; // Scarto il tecnico attualmente loggato
116
-  //       $altriTecnici[$membership->user->id] = $membership->user->name;
117
-  //     }
118
-  //   }catch(\Exception $e){
119
-  //   }
120
-  //
121
-  //   // Altre segnalazioni dello stesso progetto, da associare come sottoattività
122
-  //   $altreSegnalazioni = Http::get(session('azienda')->redmine_url.'/issues.json', [
123
-  //     'key' => $redmineUser->api_key,
124
-  //     'project_id' => $issue->project->id
125
-  //   ]);
126
-  //
127
-  //   $collectionAltreSegnalazioni = new Collection();
128
-  //
129
-  //   foreach($altreSegnalazioni->object()->issues as $issue){
130
-  //     $collectionAltreSegnalazioni->push($issue);
131
-  //   }
132
-  //
133
-  //   // foreach($collectionAltreSegnalazioni as $t){
134
-  //   //   dd($t->status);
135
-  //   // }
136
-  //
137
-  //   $user = User::where('redmine_id', $redmineUser->id)->first();
138
-  //
139
-  //
140
-  //   return view('issue.firma')->with([
141
-  //     'issue' => $issue,
142
-  //     'attivita' => $attivita,
143
-  //     'issueStatus' => $issueStatus,
144
-  //     'altriTecnici' => $altriTecnici,
145
-  //     'altreSegnalazioni' => $collectionAltreSegnalazioni,
146
-  //     'user' => $user
147
-  //   ]);
148
-  // }
149
-
150
-  // public function success(Request $request){
151
-  //   $success_issue_id = session('success_issue_id');
152
-  //   if($success_issue_id != null){
153
-  //     $request->session()->forget('success_issue_id');
154
-  //     return view('issue.success')->with(['issue_id' => $success_issue_id]);
155
-  //   }else{
156
-  //     return redirect()->route('home');
157
-  //   }
158
-  // }
159 81
 
160 82
   public function download(Request $request, $id){
161 83
     $redmineUser = session('redmine_user');
@@ -166,6 +88,11 @@ class IssueController extends Controller
166 88
   }
167 89
 
168 90
   public function nuovo(){
91
+    $progettiUser = json_decode(Auth::user()->progetti);
92
+    if($progettiUser == null || count($progettiUser) == 0){
93
+      Session::flash('flash_message', "Nessun progetto disponbile!");
94
+      return redirect()->route('dashboard');
95
+    }
169 96
     return view('issue.nuovo');
170 97
   }
171 98
 
@@ -175,7 +102,8 @@ class IssueController extends Controller
175 102
       'referente' => 'required|string|max:255',
176 103
       'telefono' => 'required|string|max:255',
177 104
       'description' => 'required',
178
-      'accetto_condizioni' =>'accepted'
105
+      'accetto_condizioni' =>'accepted',
106
+      'allegato' => 'size:5000'
179 107
     ];
180 108
 
181 109
     $request->validate($rules, $this->messages);

+ 3
- 1
app/Http/Controllers/UserController.php 查看文件

@@ -109,7 +109,9 @@ class UserController extends Controller
109 109
     $collection = new Collection();
110 110
 
111 111
     $projectResponse = Http::get(config('redmine.url').'/projects.json', [
112
-      'key' => $redmineUser->api_key
112
+      'key' => $redmineUser->api_key,
113
+      'name' => '~'.($request->has('filter')?$request->filter:''),
114
+      'limit' => 20
113 115
     ]);
114 116
 
115 117
     foreach($projectResponse->object()->projects as $project){

+ 1
- 1
app/Models/Issue.php 查看文件

@@ -9,7 +9,7 @@ use Auth;
9 9
 
10 10
 class Issue{
11 11
 
12
-  public function tipologiaRichieste(){
12
+  public static function tipologiaRichieste(){
13 13
     return [
14 14
       'Assistenza sistemistica' => 'Assistenza sistemistica',
15 15
       'Assistenza su Firewall' => 'Assistenza su Firewall',

+ 31
- 26
resources/views/dashboard.blade.php 查看文件

@@ -1,39 +1,44 @@
1 1
 <x-app-layout>
2
-    <x-slot name="header">
3
-        <h2 class="font-semibold text-xl text-gray-800 leading-tight">
4
-            <i class="fas fa-home"></i> {{ __('Dashboard') }}
5
-        </h2>
6
-    </x-slot>
7
-
8
-    <div class="row justify-content-center mb-4">
9
-
10
-      <div class="col-3">
11
-        <div class="card">
12
-          <div class="card-body text-center">
13
-            <img class="rounded mx-auto d-block" src="{{ asset('assets/contract.png') }}" width="100px"/>
14
-            <a class="btn btn-primary mt-3" href="{{ route('issue.index') }}">Vedi i ticket</a>
15
-          </div>
2
+  <x-slot name="header">
3
+    <h2 class="font-semibold text-xl text-gray-800 leading-tight">
4
+      <i class="fas fa-home"></i> {{ __('Dashboard') }}
5
+    </h2>
6
+  </x-slot>
7
+
8
+  @if(Session::has('flash_message'))
9
+  <div class="row justify-content-center mb-4">
10
+    <div class="col-6">
11
+      <div class="card alert alert-success text-center">
12
+        {{ Session::get('flash_message') }}
13
+      </div>
14
+    </div>
15
+  </div>
16
+  @endif
17
+
18
+  <div class="row justify-content-center mb-4">
19
+
20
+    <div class="col-3">
21
+      <div class="card">
22
+        <div class="card-body text-center">
23
+          <img class="rounded mx-auto d-block" src="{{ asset('assets/contract.png') }}" width="100px"/>
24
+          <a class="btn btn-primary mt-3" href="{{ route('issue.index') }}">Vedi i ticket</a>
16 25
         </div>
17 26
       </div>
27
+    </div>
18 28
 
19
-      <div class="col-3">
20
-        <div class="card">
21
-          <div class="card-body text-center">
22
-            @if(Session::has('flash_message'))
23
-            <div class="alert alert-success">
24
-              {{ Session::get('flash_message') }}
25
-            </div>
26
-            @endif
29
+    <div class="col-3">
30
+      <div class="card">
31
+        <div class="card-body text-center">
27 32
 
28
-            <img class="rounded mx-auto d-block" src="{{ asset('assets/new_issue.png') }}" width="100px"/>
33
+          <img class="rounded mx-auto d-block" src="{{ asset('assets/new_issue.png') }}" width="100px"/>
29 34
 
30
-            <a class="btn btn-primary mt-3" href="{{ route('issue.nuovo') }}">Apri un ticket</a>
31
-          </div>
35
+          <a class="btn btn-primary mt-3" href="{{ route('issue.nuovo') }}">Apri un ticket</a>
32 36
         </div>
33 37
       </div>
38
+    </div>
34 39
 
35 40
 
36
-    </div>
41
+  </div>
37 42
 
38 43
 
39 44
 </x-app-layout>

+ 6
- 6
resources/views/issue/nuovo.blade.php 查看文件

@@ -44,7 +44,7 @@ foreach($projectResponse->object()->projects as $project){
44 44
           @if($progettiCollection->count() > 1)
45 45
             <div class="form-group col-md">
46 46
               {!! Form::label('project_id', 'Progetto') !!}
47
-              {!! Form::select('project_id', $progettiCollection->pluck('name', 'id'), null, ['class' => 'form-control']) !!}
47
+              {!! Form::select('project_id', $progettiCollection->pluck('name', 'id'), old('project_id'), ['class' => 'form-control']) !!}
48 48
             </div>
49 49
           @else
50 50
           {!! Form::hidden('project_id', $progettiCollection->first()->id) !!}
@@ -52,31 +52,31 @@ foreach($projectResponse->object()->projects as $project){
52 52
 
53 53
           <div class="form-group col-md">
54 54
             {!! Form::label('tipo_richiesta', 'Tipologia di richiesta') !!}
55
-            {!! Form::select('tipo_richiesta', Issue::tipologiaRichieste(), null, ['class' => 'form-control']) !!}
55
+            {!! Form::select('tipo_richiesta', Issue::tipologiaRichieste(), old('tipo_richiesta'), ['class' => 'form-control']) !!}
56 56
           </div>
57 57
         </div>
58 58
 
59 59
           <div class="form-row">
60 60
             <div class="form-group col-md">
61 61
               {!! Form::label('subject', 'Oggetto') !!}
62
-              {!! Form::text('subject', null, ['class' => 'form-control']) !!}
62
+              {!! Form::text('subject', old('subject'), ['class' => 'form-control']) !!}
63 63
             </div>
64 64
 
65 65
             <div class="form-group col-md">
66 66
               {!! Form::label('referente', 'Referente per la problematica') !!}
67
-              {!! Form::text('referente', null, ['class' => 'form-control']) !!}
67
+              {!! Form::text('referente', old('referente'), ['class' => 'form-control']) !!}
68 68
             </div>
69 69
 
70 70
             <div class="form-group col-md">
71 71
               {!! Form::label('telefono', 'Numero di telefono') !!}
72
-              {!! Form::text('telefono', null, ['class' => 'form-control']) !!}
72
+              {!! Form::text('telefono', old('telefono'), ['class' => 'form-control']) !!}
73 73
             </div>
74 74
           </div>
75 75
 
76 76
           <div class="form-row">
77 77
             <div class="form-group col-md">
78 78
               {!! Form::label('description', 'Descrizione accurata della problematica') !!}
79
-              {!! Form::textarea('description', null, ['class' => 'form-control']) !!}
79
+              {!! Form::textarea('description', old('description'), ['class' => 'form-control']) !!}
80 80
             </div>
81 81
           </div>
82 82
 

+ 13
- 0
resources/views/user/progetti.blade.php 查看文件

@@ -4,6 +4,13 @@ $checked = json_decode($user->progetti);
4 4
 <div class="card">
5 5
   <div class="card-header">Seleziona i progetti visibili a {{ $user->full_name }}</div>
6 6
   <div class="card-body">
7
+
8
+    <div class="form-row">
9
+      <div class="form-group col">
10
+        Filtra: {!! Form::text('project_filter', null) !!} <button type="button" onclick="filtra_progetti()" class="btn btn-primary btn-sm"><i class="far fa-save"></i>Filtra</button>
11
+      </div>
12
+    </div>
13
+
7 14
     {!! Form::open(['method' => 'POST', 'route' => ['user.progetti']]) !!}
8 15
     {!! Form::hidden('user_id', $user->id) !!}
9 16
 
@@ -24,3 +31,9 @@ $checked = json_decode($user->progetti);
24 31
     {!! Form::close() !!}
25 32
   </div>
26 33
 </div>
34
+
35
+<script>
36
+function filtra_progetti(){
37
+  $('#user_detail').load("{{ route('user.progetti') }}?user_id={{ $user->id }}&filter="+$("[name='project_filter']").val()+"");
38
+}
39
+</script>

+ 1
- 1
routes/web.php 查看文件

@@ -19,7 +19,7 @@ use App\Http\Controllers\PermissionController;
19 19
 */
20 20
 
21 21
 Route::get('/', function () {
22
-    return view('welcome');
22
+    return redirect()->route('dashboard');
23 23
 });
24 24
 
25 25
 

正在加载...
取消
保存