瀏覽代碼

correzione bug

Roberto Santini 3 年之前
父節點
當前提交
40e34e77ba

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

24
     'telefono.required' => "Devi indicare il telefono",
24
     'telefono.required' => "Devi indicare il telefono",
25
     'description.required' => "Devi inserire una descrizione della problematica",
25
     'description.required' => "Devi inserire una descrizione della problematica",
26
     'accetto_condizioni.accepted' => 'Devi accettare le condizioni',
26
     'accetto_condizioni.accepted' => 'Devi accettare le condizioni',
27
+    'allegato.size' => 'La dimensione massima è di 5Mb',
27
   ];
28
   ];
28
 
29
 
29
 
30
 
30
   public function index(IssueDataTable $dataTable){
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
     return $dataTable->with(['issues' => $collection])->render('issue.index');
39
     return $dataTable->with(['issues' => $collection])->render('issue.index');
34
   }
40
   }
35
 
41
 
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
   public function download(Request $request, $id){
82
   public function download(Request $request, $id){
161
     $redmineUser = session('redmine_user');
83
     $redmineUser = session('redmine_user');
166
   }
88
   }
167
 
89
 
168
   public function nuovo(){
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
     return view('issue.nuovo');
96
     return view('issue.nuovo');
170
   }
97
   }
171
 
98
 
175
       'referente' => 'required|string|max:255',
102
       'referente' => 'required|string|max:255',
176
       'telefono' => 'required|string|max:255',
103
       'telefono' => 'required|string|max:255',
177
       'description' => 'required',
104
       'description' => 'required',
178
-      'accetto_condizioni' =>'accepted'
105
+      'accetto_condizioni' =>'accepted',
106
+      'allegato' => 'size:5000'
179
     ];
107
     ];
180
 
108
 
181
     $request->validate($rules, $this->messages);
109
     $request->validate($rules, $this->messages);

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

109
     $collection = new Collection();
109
     $collection = new Collection();
110
 
110
 
111
     $projectResponse = Http::get(config('redmine.url').'/projects.json', [
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
     foreach($projectResponse->object()->projects as $project){
117
     foreach($projectResponse->object()->projects as $project){

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

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

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

1
 <x-app-layout>
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
         </div>
25
         </div>
17
       </div>
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
         </div>
36
         </div>
33
       </div>
37
       </div>
38
+    </div>
34
 
39
 
35
 
40
 
36
-    </div>
41
+  </div>
37
 
42
 
38
 
43
 
39
 </x-app-layout>
44
 </x-app-layout>

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

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

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

4
 <div class="card">
4
 <div class="card">
5
   <div class="card-header">Seleziona i progetti visibili a {{ $user->full_name }}</div>
5
   <div class="card-header">Seleziona i progetti visibili a {{ $user->full_name }}</div>
6
   <div class="card-body">
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
     {!! Form::open(['method' => 'POST', 'route' => ['user.progetti']]) !!}
14
     {!! Form::open(['method' => 'POST', 'route' => ['user.progetti']]) !!}
8
     {!! Form::hidden('user_id', $user->id) !!}
15
     {!! Form::hidden('user_id', $user->id) !!}
9
 
16
 
24
     {!! Form::close() !!}
31
     {!! Form::close() !!}
25
   </div>
32
   </div>
26
 </div>
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
 */
19
 */
20
 
20
 
21
 Route::get('/', function () {
21
 Route::get('/', function () {
22
-    return view('welcome');
22
+    return redirect()->route('dashboard');
23
 });
23
 });
24
 
24
 
25
 
25
 

Loading…
取消
儲存