Completed
Push — master ( 78fac9...861463 )
by Laurent
01:54
created

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
/* Copyright (C) 2007-2015 Laurent Destailleur  <[email protected]>
3
 * Copyright (C) ---Put here your own copyright and developer email---
4
 *
5
 * This program is free software; you can redistribute it and/or modify
6
 * it under the terms of the GNU General Public License as published by
7
 * the Free Software Foundation; either version 3 of the License, or
8
 * (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
 */
18
19
/**
20
 *    \file       flightlog/bbcvols_card.php
21
 *        \ingroup    flightlog
22
 *        \brief      This file is an example of a php page
23
 *                    Initialy built by build_class_from_table on 2017-02-09 11:10
24
 */
25
26
// Change this following line to use the correct relative path (../, ../../, etc)
27
$res = 0;
28
if (!$res && file_exists("../main.inc.php")) {
29
    $res = @include '../main.inc.php';
30
}                    // to work if your module directory is into dolibarr root htdocs directory
31
if (!$res && file_exists("../../main.inc.php")) {
32
    $res = @include '../../main.inc.php';
33
}            // to work if your module directory is into a subdir of root htdocs directory
34
if (!$res && file_exists("../../../dolibarr/htdocs/main.inc.php")) {
35
    $res = @include '../../../dolibarr/htdocs/main.inc.php';
36
}     // Used on dev env only
37
if (!$res && file_exists("../../../../dolibarr/htdocs/main.inc.php")) {
38
    $res = @include '../../../../dolibarr/htdocs/main.inc.php';
39
}   // Used on dev env only
40
if (!$res) {
41
    die("Include of main fails");
42
}
43
// Change this following line to use the correct relative path from htdocs
44
include_once(DOL_DOCUMENT_ROOT . '/core/class/html.formcompany.class.php');
45
dol_include_once('/flightlog/class/bbcvols.class.php');
46
dol_include_once('/flightlog/class/bbctypes.class.php');
47
dol_include_once('/flightlog/lib/flightLog.lib.php');
48
dol_include_once('/flightlog/lib/card.lib.php');
49
dol_include_once('/flightlog/lib/PilotService.php');
50
dol_include_once('/flightBalloon/bbc_ballons.class.php');
51
dol_include_once('/user/class/usergroup.class.php');
52
53
global $langs, $user;
54
55
// Load traductions files requiredby by page
56
$langs->load("mymodule@flightlog");
57
$langs->load("other");
58
59
// Get parameters
60
$id = GETPOST('id', 'int') ?: GETPOST('idBBC_vols', 'int');
61
$action = GETPOST('action', 'alpha');
62
$cancel = GETPOST('cancel');
63
$backtopage = GETPOST('backtopage');
64
$myparam = GETPOST('myparam', 'alpha');
65
66
$isAllowedEdit = ($user->rights->flightlog->vol->edit || ($user->rights->flightlog->vol->add && $object->fk_pilot == $user->id));
67
$isAllowedDelete = ($user->rights->flightlog->vol->delete || ($user->rights->flightlog->vol->add && $object->fk_pilot == $user->id && !$object->is_facture));
68
69
$search_idBBC_vols = GETPOST('search_idBBC_vols', 'int');
70
$search_lieuD = GETPOST('search_lieuD', 'alpha');
71
$search_lieuA = GETPOST('search_lieuA', 'alpha');
72
$search_heureD = GETPOST('search_heureD', 'alpha');
73
$search_heureA = GETPOST('search_heureA', 'alpha');
74
$search_BBC_ballons_idBBC_ballons = GETPOST('search_BBC_ballons_idBBC_ballons', 'int');
75
$search_nbrPax = GETPOST('search_nbrPax', 'int');
76
$search_remarque = GETPOST('search_remarque', 'alpha');
77
$search_incidents = GETPOST('search_incidents', 'alpha');
78
$search_fk_type = GETPOST('search_fk_type', 'int');
79
$search_fk_pilot = GETPOST('search_fk_pilot', 'int');
80
$search_fk_organisateur = GETPOST('search_fk_organisateur', 'int');
81
$search_is_facture = GETPOST('search_is_facture', 'int');
82
$search_kilometers = GETPOST('search_kilometers', 'int');
83
$search_cost = GETPOST('search_cost', 'alpha');
84
$search_fk_receiver = GETPOST('search_fk_receiver', 'int');
85
$search_justif_kilometers = GETPOST('search_justif_kilometers', 'alpha');
86
87
$pageTitle = "Fiche vol " . $id;
88
89
if (!$user->rights->flightlog->vol->access) {
90
    accessforbidden($langs->trans("Tu n'as pas accès au vol"));
91
}
92
93
if (empty($action) && empty($id) && empty($ref)) {
94
    $action = 'view';
95
}
96
97
$object = new Bbcvols($db);
98
$extrafields = new ExtraFields($db);
99
100
$receiver = new User($db);
101
102
$pilotService = new PilotService($db);
103
$pilot = new User($db);
104
105
$organisator = new User($db);
106
107
$flightType = new Bbctypes($db);
108
$balloon = new Bbc_ballons($db);
109
110
// fetch optionals attributes and labels
111
$extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
112
113
// Load object
114
include DOL_DOCUMENT_ROOT . '/core/actions_fetchobject.inc.php';  // Must be include, not include_once  // Must be include, not include_once. Include fetch and fetch_thirdparty but not fetch_optionals
115
116
// Initialize technical object to manage hooks of modules. Note that conf->hooks_modules contains array array
117
$hookmanager->initHooks(array('bbcvols'));
118
$object->ref = $object->idBBC_vols;
119
$receiver->fetch($object->fk_receiver);
120
$pilot->fetch($object->fk_pilot);
121
$organisator->fetch($object->fk_organisateur);
122
$flightType->fetch($object->fk_type);
123
$balloon->fetch($object->BBC_ballons_idBBC_ballons);
124
125
126
if (($action == "update" || $action == "edit") && !($user->rights->flightlog->vol->edit || ($user->rights->flightlog->vol->add && $object->fk_pilot == $user->id))) {
127
    setEventMessage("Ceci n'est pas un de tes vols tu ne peux l'editer ! ", 'errors');
128
    $action = 'view';
129
}
130
131
/*******************************************************************
132
 * ACTIONS
133
 *
134
 * Put here all code to do according to value of "action" parameter
135
 ********************************************************************/
136
137
$parameters = array();
138
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object,
139
    $action);    // Note that $action and $object may have been modified by some hooks
140
if ($reshook < 0) {
141
    setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
142
}
143
144
if (empty($reshook)) {
145
146
    // Action to add record
147
    if ($action == 'add') {
148
149
        if (GETPOST('cancel')) {
150
            $urltogo = $backtopage ? $backtopage : dol_buildpath('/flightlog/list.php', 1);
151
            header("Location: " . $urltogo);
152
            exit;
153
        }
154
155
        $error = 0;
156
157
        /* object_prop_getpost_prop */
158
159
        $object->idBBC_vols = GETPOST('idBBC_vols', 'int');
160
        $object->lieuD = GETPOST('lieuD', 'alpha');
161
        $object->lieuA = GETPOST('lieuA', 'alpha');
162
        $object->heureD = GETPOST('heureD', 'alpha');
163
        $object->heureA = GETPOST('heureA', 'alpha');
164
        $object->BBC_ballons_idBBC_ballons = GETPOST('BBC_ballons_idBBC_ballons', 'int');
165
        $object->nbrPax = GETPOST('nbrPax', 'alpha');
166
        $object->remarque = GETPOST('remarque', 'alpha');
167
        $object->incidents = GETPOST('incidents', 'alpha');
168
        $object->fk_type = GETPOST('fk_type', 'int');
169
        $object->fk_pilot = GETPOST('fk_pilot', 'int');
170
        $object->fk_organisateur = GETPOST('fk_organisateur', 'int');
171
        $object->is_facture = GETPOST('is_facture', 'int');
172
        $object->kilometers = GETPOST('kilometers', 'int');
173
        $object->cost = GETPOST('cost', 'alpha');
174
        $object->fk_receiver = GETPOST('fk_receiver', 'int');
175
        $object->justif_kilometers = GETPOST('justif_kilometers', 'alpha');
176
177
178 View Code Duplication
        if (empty($object->idBBC_vols)) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
179
            $error++;
180
            setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("idBBC_vols")), null,
181
                'errors');
182
        }
183
184
        if (!$error) {
185
            $result = $object->create($user);
186
            if ($result > 0) {
187
                // Creation OK
188
                $urltogo = $backtopage ? $backtopage : dol_buildpath('/flightlog/list.php', 1);
189
                header("Location: " . $urltogo);
190
                exit;
191
            }
192
            {
193
                // Creation KO
194 View Code Duplication
                if (!empty($object->errors)) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
195
                    setEventMessages(null, $object->errors, 'errors');
196
                } else {
197
                    setEventMessages($object->error, null, 'errors');
198
                }
199
                $action = 'create';
200
            }
201
        } else {
202
            $action = 'create';
203
        }
204
    }
205
206
    // Action to update record
207
    if ($action == 'update') {
208
        $error = 0;
209
210
        $object->date = dol_mktime(12, 0, 0, GETPOST("remonth"), GETPOST("reday"), GETPOST("reyear"));
211
        $object->idBBC_vols = GETPOST('idBBC_vols', 'int');
212
        $object->id = $object->idBBC_vols;
213
        $object->lieuD = GETPOST('lieuD', 'alpha');
214
        $object->lieuA = GETPOST('lieuA', 'alpha');
215
        $object->heureD = GETPOST('heureD_h', 'int') . ":" . GETPOST('heureD_m', 'int') . ":00";
216
        $object->heureA = GETPOST('heureA_h', 'int') . ":" . GETPOST('heureA_m', 'int') . ":00";
217
        $object->BBC_ballons_idBBC_ballons = GETPOST('BBC_ballons_idBBC_ballons', 'int');
218
        $object->nbrPax = GETPOST('nbrPax', 'alpha');
219
        $object->remarque = GETPOST('remarque', 'alpha');
220
        $object->incidents = GETPOST('incidents', 'alpha');
221
        $object->fk_type = GETPOST('fk_type', 'int');
222
        $object->fk_pilot = GETPOST('fk_pilot', 'int');
223
        $object->fk_organisateur = GETPOST('fk_organisateur', 'int');
224
        $object->kilometers = GETPOST('kilometers', 'int') ?: $object->kilometers;
225
        $object->cost = GETPOST('cost', 'alpha') ?: $object->cost;
226
        $object->fk_receiver = GETPOST('fk_receiver', 'int') ?: $object->fk_receiver;
227
        $object->justif_kilometers = GETPOST('justif_kilometers', 'alpha') ?: $object->justif_kilometers;
228
229
230
        //validation
231 View Code Duplication
        if (empty($object->idBBC_vols)) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
232
            $error++;
233
            setEventMessages($langs->transnoentitiesnoconv("ErrorFieldRequired",
234
                $langs->transnoentitiesnoconv("idBBC_vols")),
235
                null, 'errors');
236
        }
237
238
        if (!dol_validElement($object->lieuD)) {
239
            $error++;
240
            setEventMessage("Erreur le champ : lieu de décollage", 'errors');
241
        }
242
243
        if (!dol_validElement($object->lieuA)) {
244
            $error++;
245
            setEventMessage("Erreur le champ : lieu d'atterissage", 'errors');
246
        }
247
248
        $dateD = date_create_from_format("H:i:s", $object->heureD);
249
        $dateA = date_create_from_format("H:i:s", $object->heureA);
250
        if ($dateA <= $dateD) {
251
            $error++;
252
            setEventMessage("Erreur avec les heures de vol", 'errors');
253
        }
254
255
        if (!is_numeric($object->nbrPax) || $object->nbrPax < 0) {
256
            $error++;
257
            setEventMessage("Erreur le champ : nombre de passagers", 'errors');
258
        }
259
260
        if (!$pilotService->isPilot($object->fk_pilot)) {
261
            $error++;
262
            setEventMessage($langs->trans("Le pilote selectionne n'est pas pilote", 'errors'));
263
        }
264
265
        // action : edit
266
        if (!$error) {
267
            $result = $object->update($user);
268
            if ($result > 0) {
269
                $action = 'view';
270
271
                $receiver->fetch($object->fk_receiver);
272
                $pilot->fetch($object->fk_pilot);
273
                $organisator->fetch($object->fk_organisateur);
274
                $flightType->fetch($object->fk_type);
275
                $balloon->fetch($object->BBC_ballons_idBBC_ballons);
276
277 View Code Duplication
            } else {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
278
                // Creation KO
279
                if (!empty($object->errors)) {
280
                    setEventMessages(null, $object->errors, 'errors');
281
                } else {
282
                    setEventMessages($object->error, null, 'errors');
283
                }
284
                $action = 'edit';
285
            }
286
        } else {
287
            $action = 'edit';
288
        }
289
    }
290
291
    // Action to delete
292
    if ($action == 'confirm_delete') {
293
        $result = $object->delete($user);
294
        if ($result > 0) {
295
            // Delete OK
296
            setEventMessages("RecordDeleted", null, 'mesgs');
297
            header("Location: " . dol_buildpath('/flightlog/list.php', 1));
298
            exit;
299 View Code Duplication
        } else {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
300
            if (!empty($object->errors)) {
301
                setEventMessages(null, $object->errors, 'errors');
302
            } else {
303
                setEventMessages($object->error, null, 'errors');
304
            }
305
        }
306
    }
307
}
308
309
310
/***************************************************
311
 * VIEW
312
 *
313
 * Put here all code to build page
314
 ****************************************************/
315
316
llxHeader('', $pageTitle, '');
317
318
$form = new Form($db);
319
320
321
// Put here content of your page
322
323
print '<script type="text/javascript" language="javascript">
324
jQuery(document).ready(function() {
325
	function init_myfunc()
326
	{
327
		jQuery("#myid").removeAttr(\'disabled\');
328
		jQuery("#myid").attr(\'disabled\',\'disabled\');
329
	}
330
	init_myfunc();
331
	jQuery("#mybutton").click(function() {
332
		init_myfunc();
333
	});
334
});
335
</script>';
336
337
338
// Part to create
339
if ($action == 'create') {
340
    print load_fiche_titre($langs->trans("NewMyModule"));
341
342
    print '<form method="POST" action="' . $_SERVER["PHP_SELF"] . '">';
343
    print '<input type="hidden" name="action" value="add">';
344
    print '<input type="hidden" name="backtopage" value="' . $backtopage . '">';
345
346
    dol_fiche_head();
347
348
    print '<table class="border centpercent">' . "\n";
349
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldidBBC_vols") . '</td><td><input class="flat" type="text" name="idBBC_vols" value="' . GETPOST('idBBC_vols') . '"></td></tr>';
350
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldlieuD") . '</td><td><input class="flat" type="text" name="lieuD" value="' . GETPOST('lieuD') . '"></td></tr>';
351
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldlieuA") . '</td><td><input class="flat" type="text" name="lieuA" value="' . GETPOST('lieuA') . '"></td></tr>';
352
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldheureD") . '</td><td><input class="flat" type="text" name="heureD" value="' . GETPOST('heureD') . '"></td></tr>';
353
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldheureA") . '</td><td><input class="flat" type="text" name="heureA" value="' . GETPOST('heureA') . '"></td></tr>';
354
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldBBC_ballons_idBBC_ballons") . '</td><td><input class="flat" type="text" name="BBC_ballons_idBBC_ballons" value="' . GETPOST('BBC_ballons_idBBC_ballons') . '"></td></tr>';
355
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldnbrPax") . '</td><td><input class="flat" type="text" name="nbrPax" value="' . GETPOST('nbrPax') . '"></td></tr>';
356
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldremarque") . '</td><td><input class="flat" type="text" name="remarque" value="' . GETPOST('remarque') . '"></td></tr>';
357
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldincidents") . '</td><td><input class="flat" type="text" name="incidents" value="' . GETPOST('incidents') . '"></td></tr>';
358
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldfk_type") . '</td><td><input class="flat" type="text" name="fk_type" value="' . GETPOST('fk_type') . '"></td></tr>';
359
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldfk_pilot") . '</td><td><input class="flat" type="text" name="fk_pilot" value="' . GETPOST('fk_pilot') . '"></td></tr>';
360
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldfk_organisateur") . '</td><td><input class="flat" type="text" name="fk_organisateur" value="' . GETPOST('fk_organisateur') . '"></td></tr>';
361
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldis_facture") . '</td><td><input class="flat" type="text" name="is_facture" value="' . GETPOST('is_facture') . '"></td></tr>';
362
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldkilometers") . '</td><td><input class="flat" type="text" name="kilometers" value="' . GETPOST('kilometers') . '"></td></tr>';
363
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldcost") . '</td><td><input class="flat" type="text" name="cost" value="' . GETPOST('cost') . '"></td></tr>';
364
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldfk_receiver") . '</td><td><input class="flat" type="text" name="fk_receiver" value="' . GETPOST('fk_receiver') . '"></td></tr>';
365
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldjustif_kilometers") . '</td><td><input class="flat" type="text" name="justif_kilometers" value="' . GETPOST('justif_kilometers') . '"></td></tr>';
366
367
    print '</table>' . "\n";
368
369
    dol_fiche_end();
370
371
    print '<div class="center"><input type="submit" class="button" name="add" value="' . $langs->trans("Create") . '"> &nbsp; <input type="submit" class="button" name="cancel" value="' . $langs->trans("Cancel") . '"></div>';
372
373
    print '</form>';
374
}
375
376
377
// Part to edit record
378
if (($id || $ref) && $action == 'edit') {
379
    print load_fiche_titre($langs->trans("MyModule"));
380
381
    print '<form method="POST" action="' . $_SERVER["PHP_SELF"] . '">';
382
    print '<input type="hidden" name="action" value="update">';
383
    print '<input type="hidden" name="backtopage" value="' . $backtopage . '">';
384
    print '<input type="hidden" name="idBBC_vols" value="' . $object->id . '">';
385
386
    dol_fiche_head();
387
388
    print '<table class="border centpercent">' . "\n";
389
390
    print "<tr><td class=\"fieldrequired\">" . $langs->trans("FieldDate") . "</td><td>";
391
    print $form->select_date($object->date, '', '', '', '', 'add', 1, 1);
392
    print "</td></tr>";
393
    print "<tr><td class=\"fieldrequired\">" . $langs->trans("FieldlieuD") . "</td><td><input class=\"flat\" type=\"text\" name=\"lieuD\" value=\"" . $object->lieuD . "\"></td></tr>";
394
    print "<tr><td class=\"fieldrequired\">" . $langs->trans("FieldlieuA") . "</td><td><input class=\"flat\" type=\"text\" name=\"lieuA\" value=\"" . $object->lieuA . "\"></td></tr>";
395
    print "<tr><td class=\"fieldrequired\">" . $langs->trans("FieldheureD") . "</td><td><input class=\"flat\" min=\"0\" max=\"23\" type=\"number\" name=\"heureD_h\" value=\"" . explode(":",
396
            $object->heureD)[0] . "\">h<input class=\"flat\" type=\"number\" min=\"0\" max=\"59\" name=\"heureD_m\" value=\"" . explode(":",
397
            $object->heureD)[1] . "\"></td></tr>";
398
    print "<tr><td class=\"fieldrequired\">" . $langs->trans("FieldheureA") . "</td><td><input class=\"flat\" type=\"number\" min=\"0\" max=\"23\" name=\"heureA_h\" value=\"" . explode(":",
399
            $object->heureA)[0] . "\">h<input class=\"flat\" type=\"number\" min=\"0\" max=\"59\" name=\"heureA_m\" value=\"" . explode(":",
400
            $object->heureA)[1] . "\"></td></tr>";
401
    print "<tr><td class=\"fieldrequired\">" . $langs->trans("FieldBBC_ballons_idBBC_ballons") . "</td><td>";
402
    select_balloons($object->BBC_ballons_idBBC_ballons, "BBC_ballons_idBBC_ballons");
403
    print "</td></tr>";
404
    print "<tr><td class=\"fieldrequired\">" . $langs->trans("FieldnbrPax") . "</td><td><input class=\"flat\" type=\"number\" name=\"nbrPax\" value=\"" . $object->nbrPax . "\"></td></tr>";
405
    print "<tr><td class=\"fieldrequired\">" . $langs->trans("Fieldremarque") . "</td><td><textarea class=\"flat\" name=\"remarque\">" . $object->remarque . "</textarea></td></tr>";
406
    print "<tr><td class=\"fieldrequired\">" . $langs->trans("Fieldincidents") . "</td><td><textarea class=\"flat\" name=\"incidents\">" . $object->incidents . "</textarea></td></tr>";
407
    print "<tr><td class=\"fieldrequired\">" . $langs->trans("Fieldfk_type") . "</td><td>";
408
    select_flight_type($object->fk_type, "fk_type");
409
    print "</td></tr>";
410
    print "<tr><td class=\"fieldrequired\">" . $langs->trans("Fieldfk_pilot") . "</td><td>" . $form->select_dolusers($object->fk_pilot,
411
            "fk_pilot", 0, '', 0, '', '', 0, 0, 0, '', 0, '', '', 1) . "</td></tr>";
412
    print "<tr><td class=\"fieldrequired\">" . $langs->trans("Fieldfk_organisateur") . "</td><td>" . $form->select_dolusers($object->fk_organisateur,
413
            "fk_organisateur") . "</td></tr>";
414
415
    if ($user->rights->flightlog->vol->financial || $user->id == $object->fk_pilot) {
416
        print "<tr><td class=\"fieldrequired\">" . $langs->trans("Fieldkilometers") . "</td><td><input class=\"flat\" type=\"number\" name=\"kilometers\" value=\"" . $object->kilometers . "\"></td></tr>";
417
        print "<tr><td class=\"fieldrequired\">" . $langs->trans("Fieldcost") . "</td><td><input class=\"flat\" type=\"number\" name=\"cost\" value=\"" . $object->cost . "\"></td></tr>";
418
        print "<tr><td class=\"fieldrequired\">" . $langs->trans("Fieldfk_receiver") . "</td><td>" . $form->select_dolusers($object->fk_receiver,
419
                "fk_receiver", true) . "</td></tr>";
420
        print "<tr><td class=\"fieldrequired\">" . $langs->trans("Fieldjustif_kilometers") . "</td><td><textarea class=\"flat\" name=\"justif_kilometers\">" . $object->justif_kilometers . "</textarea></td></tr>";
421
    }
422
    print '</table>';
423
424
    dol_fiche_end();
425
426
    print '<div class="center"><input type="submit" class="button" name="save" value="' . $langs->trans("Save") . '">';
427
    print ' &nbsp; <input type="submit" class="button" name="cancel" value="' . $langs->trans("Cancel") . '">';
428
    print '</div>';
429
430
    print '</form>';
431
}
432
433
434
// Part to show record
435
if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) {
436
    $res = $object->fetch_optionals($object->id, $extralabels);
437
438
    /*
439
             * Show tabs
440
             */
441
    $head = prepareFlightTabs($object);
442
443
    dol_fiche_head($head, 'general', $langs->trans("Vol"));
444
445
    $linkback = '<a href="' . DOL_URL_ROOT . '/flightlog/list.php">' . $langs->trans("BackToList") . '</a>';
446
    print $form->showrefnav($object, "idBBC_vols", $linkback, true, "idBBC_vols");
447
448
    if ($action == 'delete') {
449
        $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('DeleteMyOjbect'),
450
            $langs->trans('ConfirmDeleteMyObject'), 'confirm_delete', '', 0, 1);
451
        print $formconfirm;
452
    }
453
454
    print '<table class="border centpercent">' . "\n";
455
456
457
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldidBBC_vols") . '</td><td>' . $object->idBBC_vols . '</td></tr>';
458
    print '<tr><td class="fieldrequired">' . $langs->trans("Fielddate") . '</td><td>' . dol_print_date($object->date) . '</td></tr>';
459
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldlieuD") . '</td><td>' . $object->lieuD . '</td></tr>';
460
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldlieuA") . '</td><td>' . $object->lieuA . '</td></tr>';
461
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldheureD") . '</td><td>' . $object->heureD . '</td></tr>';
462
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldheureA") . '</td><td>' . $object->heureA . '</td></tr>';
463
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldBBC_ballons_idBBC_ballons") . '</td><td>' . $balloon->immat . '</td></tr>';
464
    print '<tr><td class="fieldrequired">' . $langs->trans("FieldnbrPax") . '</td><td>' . $object->nbrPax . '</td></tr>';
465
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldfk_type") . '</td><td>' . $object->fk_type . '</td></tr>';
466
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldfk_pilot") . '</td><td>' . $pilot->getNomUrl(1) . '</td></tr>';
467
    print '<tr><td class="fieldrequired">' . $langs->trans("Fieldfk_organisateur") . '</td><td>' . $organisator->getNomUrl(1) . '</td></tr>';
468
469
    print '</table>';
470
471
    dol_fiche_end();
472
473
    // Buttons
474
    print '<div class="tabsAction">' . "\n";
475
    $parameters = array();
476
    $reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object,
477
        $action);    // Note that $action and $object may have been modified by hook
478
    if ($reshook < 0) {
479
        setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
480
    }
481
482 View Code Duplication
    if ($user->rights->flightlog->vol->edit || ($user->rights->flightlog->vol->add && $object->fk_pilot == $user->id)) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
483
        print '<div class="inline-block divButAction"><a class="butAction" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&amp;action=edit">' . $langs->trans("Modify") . '</a></div>' . "\n";
484
    }
485
486 View Code Duplication
    if ($user->rights->flightlog->vol->delete || ($user->rights->flightlog->vol->add && $object->fk_pilot == $user->id && !$object->is_facture)) {
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
487
        print '<div class="inline-block divButAction"><a class="butActionDelete" href="' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '&amp;action=delete">' . $langs->trans('Delete') . '</a></div>' . "\n";
488
    }
489
490 View Code Duplication
    if($user->rights->flightlog->vol->financial && $object->fk_type == 2 && !$object->hasFacture()){
0 ignored issues
show
This code seems to be duplicated across your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
491
        print '<div class="inline-block divButAction"><a class="butAction" href="' . DOL_URL_ROOT . '/flightlog/facture.php?id=' . $object->id.'">' . $langs->trans("Facturer") . '</a></div>' . "\n";
492
    }
493
494
    print '</div>' . "\n";
495
496
    if($user->rights->flightlog->vol->financial){
497
        print '<div class="fichecenter"><div class="fichehalfleft">';
498
        $form->showLinkedObjectBlock($object);
499
        print '</div></div>';
500
    }
501
502
}
503
504
505
// End of page
506
llxFooter();
507
$db->close();
508