diff --git a/application/config/autoload.php b/application/config/autoload.php index f43e70621a1cac0b60996db243c6d2441b57618d..d7038c314c81e5854718f054f2e88ec954bdd6fb 100644 --- a/application/config/autoload.php +++ b/application/config/autoload.php @@ -89,7 +89,7 @@ $autoload['drivers'] = array(); | | $autoload['helper'] = array('url', 'file'); */ -$autoload['helper'] = array('url', 'file', 'security', 'data'); +$autoload['helper'] = array('url', 'file', 'security', 'data', 'language'); /* | ------------------------------------------------------------------- @@ -117,7 +117,7 @@ $autoload['config'] = array(); | "codeigniter_lang.php" would be referenced as array('codeigniter'); | */ -$autoload['language'] = array(); +$autoload['language'] = array('german'); /* | ------------------------------------------------------------------- diff --git a/application/controllers/admin/Guests.php b/application/controllers/admin/Guests.php index 1644b24cc9c41fa03a391be3c01139fb8158e341..4adc5e6eddf3be6b3e4fa0b68a9811f20ca3beba 100644 --- a/application/controllers/admin/Guests.php +++ b/application/controllers/admin/Guests.php @@ -131,12 +131,55 @@ $this->guests_model->visit_add($event, $this->input->post('guests_id')); redirect(base_url('admin/guests/visit_add/'.$event)); } - public function bookings() - { + public function bookings() { $data['guests'] = $this->guests_model->bookings_get(); $data['title'] = 'Gast Voranmeldungen'; $data['view'] = 'admin/guests/guests_bookings'; $this->load->view('admin/layout', $data); } + public function registration_print() { + if($this->input->post('submit')) { + $count_array = array('id' => '', 'name' => '', 'span' => '', 'weight' => '', 'engine' => '', 'ccm' => '', 'ps' => '', 'channel' => '', 'frequency_band' => '', 'information' => ''); + $booking = $this->guests_model->booking_get($this->input->post('guest_id')); + $data['models'] = $booking['models']; + $data['guest'] = $booking['guest']; + if($booking['model_count'] < 3) { + $count = 3 - $booking['model_count']; + for(;$count > 0; $count--) { $data['models'][] = $count_array; } + } + if($booking['model_count'] > 3) { + $temp_count = $booking['model_count'] - 3; + $count = (intval(ceil($temp_count/4)) * 4) + 3 - $booking['model_count']; + for(;$count > 0; $count--) { $data['models'][] = $count_array; } + } + $data['title'] = $this->lang->line('guests_registration_print_title'); + $data['view'] = 'admin/guests/guests_registration_print_do'; + $this->load->view('admin/layout', $data); + } + else { + $data['guests'] = $this->guests_model->bookings_get(); + $data['title'] = $this->lang->line('guests_registration_print_title'); + $data['view'] = 'admin/guests/guests_registration_print'; + $this->load->view('admin/layout', $data); + } + } + public function registration_print_do($guest_id) { + $count_array = array('id' => '', 'name' => '', 'span' => '', 'weight' => '', 'engine' => '', 'ccm' => '', 'ps' => '', 'channel' => '', 'frequency_band' => '', 'information' => ''); + $booking = $this->guests_model->booking_get($guest_id); + $data['models'] = $booking['models']; + $data['guest'] = $booking['guest']; + if($booking['model_count'] < 3) { + $count = 3 - $booking['model_count']; + for(;$count > 0; $count--) { $data['models'][] = $count_array; } + } + if($booking['model_count'] > 3) { + $temp_count = $booking['model_count'] - 3; + $count = (intval(ceil($temp_count/4)) * 4) + 3 - $booking['model_count']; + for(;$count > 0; $count--) { $data['models'][] = $count_array; } + } + $data['model_id'] = 1; + $data['title'] = ''; + $this->load->view('admin/guests/guests_registration_print_do', $data); + } } ?> \ No newline at end of file diff --git a/application/language/german/german_lang.php b/application/language/german/german_lang.php index aa8cc8d442b86953cadc4e790c25e8f75a9884cb..d5a73501c7eb7aff04e555a6c804bc9942bdf27c 100644 --- a/application/language/german/german_lang.php +++ b/application/language/german/german_lang.php @@ -4,4 +4,10 @@ * User: Dennis Eisold * Date: 08.03.2018 * Time: 23:09 - */ \ No newline at end of file + */ + +$lang['guests_registration_print_title'] = 'Anmeldebogen drucken'; +$lang['save'] = "Speichern"; +$lang['print'] = "Drucken"; +$lang['continue'] = "Weiter"; +$lang['choose_guest'] = "Gast auswählen"; \ No newline at end of file diff --git a/application/models/admin/Guests_model.php b/application/models/admin/Guests_model.php index 04a7edd657f438aaa764a95f9d977bcdc9ba860a..d1218605254ccd6c83d755921fd34ce788c998f9 100644 --- a/application/models/admin/Guests_model.php +++ b/application/models/admin/Guests_model.php @@ -68,5 +68,27 @@ $query = $this->db->get(); return $result = $query->result_array(); } + public function booking_get($booking_id) { + $this->db->select('guests_register.*'); + $this->db->from('guests_register'); + $this->db->where('guests_register.id', $booking_id); + $query = $this->db->get(); + $booking['guest'] = $query->row_array(); + $booking['models'] = $this->booking_models_get($booking_id); + $booking['model_count'] = $this->booking_models_get_count($booking_id); + return $booking; + } + public function booking_models_get_count($booking_id) { + $this->db->from('guests_register_models'); + $this->db->where('guests_register_models.guest_register_id', $booking_id); + return $this->db->count_all_results(); + } + public function booking_models_get($booking_id) { + $this->db->select('guests_register_models.*'); + $this->db->from('guests_register_models'); + $this->db->where('guests_register_models.guest_register_id', $booking_id); + $query = $this->db->get(); + return $result = $query->result_array(); + } } ?> \ No newline at end of file diff --git a/application/views/admin/guests/guests_registration_print.php b/application/views/admin/guests/guests_registration_print.php new file mode 100644 index 0000000000000000000000000000000000000000..4529f740b99ac92c1a77e92c414aef6b089387e7 --- /dev/null +++ b/application/views/admin/guests/guests_registration_print.php @@ -0,0 +1,47 @@ +<?php +/** + * Copyright by IT Stall (www.itstall.de) 2018 + * User: Dennis Eisold + * Date: 12.03.2018 + */ +?> +<section class="content"> + <div class="row"> + <div class="col-md-12"> + <div class="box box-body with-border"> + <div class="col-md-6"> + <h4><i class="fa fa-plus"></i> <?=$title?></h4> + </div> + </div> + </div> + </div> + <div class="row"> + <div class="col-md-12"> + <div class="box border-top-solid"> + <div class="box-body my-form-body"> + <?php echo form_open(base_url('admin/guests/registration_print/'), 'class="form-horizontal"' )?> + <div class="form-group"> + <label for="guest_id" class="col-sm-3 control-label"><?=lang('choose_guest')?></label> + <div class="col-sm-4"> + <select name="guest_id" class="form-control"> + <?php foreach($guests as $guest): ?> + <option value="<?= $guest['id']; ?>"><?= $guest['firstname'].' '.$guest['lastname']; ?></option> + <?php endforeach; ?> + </select> + </div> + </div> + <div class="form-group"> + <div class="col-md-7"> + <input type="submit" name="submit" value="<?=lang('continue')?>" class="btn btn-success pull-right"> + </div> + </div> + <?php echo form_close( ); ?> + </div> + </div> + </div> + </div> +</section> + +<script> + $("#guests_registration_print").addClass('active'); +</script> \ No newline at end of file diff --git a/application/views/admin/guests/guests_registration_print_do.php b/application/views/admin/guests/guests_registration_print_do.php new file mode 100644 index 0000000000000000000000000000000000000000..91882f29972b34f2f047ca7b0a7f232a001bf17a --- /dev/null +++ b/application/views/admin/guests/guests_registration_print_do.php @@ -0,0 +1,189 @@ +<?php +/** + * Copyright by IT Stall (www.itstall.de) 2018 + * User: Dennis Eisold + * Date: 12.03.2018 + */ +?> + +<div class="row"> + <div class="col-md-5"> + <input type="button" onclick="printDiv('registration')" value="<?=lang('print')?>" class="btn btn-danger pull-right"><br/> + <br/> + <br/> + </div> + <div class="col-md-12"> + <div id="registration"> + <style type="text/css"> + body,div,table,thead,tbody,tfoot,tr,th,td,p { font-family:"Arial"; font-size:x-small } + .userdata { font-size: 10pt; } + .guest_id { font-size: 40px; font-weight: bolder; } + .frequenzy_type { font-size: 20pt; } + .bt { border-top: 1px solid #000000; } + .bl { border-left: 1px solid #000000; } + .bb { border-bottom: 1px solid #000000; } + .br { border-right: 1px solid #000000; } + .pl10 { padding-left: 10px; } + td { padding-left: 5px; } + </style> + <table cellspacing="0" border="0"> + <colgroup width="53"></colgroup> + <colgroup width="79"></colgroup> + <colgroup width="50"></colgroup> + <colgroup width="79"></colgroup> + <colgroup width="150"></colgroup> + <colgroup width="106"></colgroup> + <colgroup span="2" width="79"></colgroup> + <tr> + <td colspan="8" height="40" align="center" valign="middle" bgcolor="#D9D9D9" style="border-top: 2px solid #000000; border-bottom: 2px solid #000000; border-left: 2px solid #000000; border-right: 2px solid #000000;"><h3>Anmeldung zum Flugtag MFG Condor Schweinfurt 2018</h3></td> + </tr> + <tr> + <td height="15" align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + </tr> + <tr> + <td colspan="3" height="10" align="left" valign="top" class="bt bl">Vorname</td> + <td colspan="3" align="left" valign="top" class="bt bl">Nachname</td> + <td colspan="2" align="left" valign="top" class="bt bl br">Laufende Nummer</td> + </tr> + <tr></tr> + <tr> + <td colspan="3" height="20" align="left" valign="center" class="bl userdata"><?=$guest['firstname']?></td> + <td colspan="3" align="left" valign="center" class="bl userdata"><?=$guest['lastname']?></td> + <td colspan="2" rowspan="18" align="center" valign="middle" class="bb bl br guest_id"><?=$guest['guests_id']?></td> + </tr> + <tr></tr> + <tr> + <td colspan="3" height="10" align="left" valign="top" class="bt bl">Straße</td> + <td colspan="3" align="left" valign="top" class="bt bl">Geburtsdatum</td> + </tr> + <tr></tr> + <tr> + <td colspan="3" height="20" align="left" valign="center" class="bb bl userdata"><?=$guest['street']?></td> + <td colspan="3" align="left" valign="center" class="bb bl userdata"><?=date_to_german($guest['birthday'])?></td> + </tr> + <tr></tr> + <tr> + <td colspan="2" height="10" align="left" valign="top" class="bl">PLZ</td> + <td colspan="4" align="left" valign="top" class="bl">Ort</td> + </tr> + <tr></tr> + <tr> + <td colspan="2" height="20" align="left" valign="center" class="bb bl userdata"><?=$guest['zip']?></td> + <td colspan="4" align="left" valign="center" class="bb bl userdata"><?=$guest['town']?></td> + </tr> + <tr></tr> + <tr> + <td colspan="4" height="10" align="left" valign="top" class="bl">Email</td> + <td colspan="2" align="left" valign="top" class="bl">Telefon</td> + </tr> + <tr></tr> + <tr> + <td colspan="4" height="20" align="left" valign="center" class="bb bl userdata"><?=$guest['email']?></td> + <td colspan="2" align="left" valign="center" class="bb bl userdata"><?=$guest['phone']?></td> + </tr> + <tr></tr> + <tr> + <td colspan="3" height="10" align="left" valign="top" class="bl">Verein</td> + <td colspan="3" align="left" valign="top" class="bl">Versicherungsnummer</td> + </tr> + <tr></tr> + <tr> + <td colspan="3" height="20" align="left" valign="center" class="bb bl userdata"><?=$guest['club']?></td> + <td colspan="3" align="left" valign="center" class="bb bl userdata"><?=$guest['insurance_number']?></td> + </tr> + <tr></tr> + <tr> + <td colspan="5" height="60" align="left" valign="center" class="bb bl pl10">Mit meiner Unterschrift bestätige ich, dass ich die geltende Flugordnung eingesehen<br>habe, sich mein Fluggerät in einwandfreiem Zustand befindet, ich im Besitz einer<br>gültigen Modell-Haftpflichtversicherung bin und dass keine gesundheitlichen oder<br>sonstigen Gründe einer Teilnahme am Flugbetrieb entgegenstehen.</td> + <td colspan="3" align="left" valign="top" class="bb bl br">Unterschrift</td> + </tr> + <tr></tr> + <tr></tr> + <tr> + <td colspan="8" height="20" align="center" valign="middle" class="bb bl br">Mit der vorliegenden Anmeldung wird für die Dauer der Veranstaltung eine kostenlose Tagesmitgliedschaft erworben.</td> + </tr> + </table> + <?php foreach($models as $model) { ?> + <table cellspacing="0" border="0"> + <colgroup width="53"></colgroup> + <colgroup width="79"></colgroup> + <colgroup width="50"></colgroup> + <colgroup width="79"></colgroup> + <colgroup width="150"></colgroup> + <colgroup width="106"></colgroup> + <colgroup span="2" width="79"></colgroup> + <tr> + <td height="15" align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + <td align="left" valign="bottom"><br></td> + </tr> + <tr> + <td colspan="2" height="10" align="left" valign="top" class="bt bl" bgcolor="#D9D9D9">Modell <?=$model['id']?></td> + <td colspan="4" align="left" valign="top" class="bt bl">Modellname</td> + <td colspan="2" align="left" valign="top" class="bt bl br">Kanal</td> + </tr> + <tr></tr> + <tr> + <td colspan="2" height="20" align="left" valign="center" class="bl userdata" bgcolor="#D9D9D9"></td> + <td colspan="4" align="left" valign="center" class="bl userdata"><?=$model['name']?></td> + <td colspan="2" rowspan="10" align="center" valign="middle" class="bb bl br guest_id"><?=$model['channel']?></td> + </tr> + <tr></tr> + <tr> + <td colspan="3" height="10" align="left" valign="top" class="bt bl">Spannweite</td> + <td colspan="3" align="left" valign="top" class="bt bl">Gewicht (max 25kg)</td> + </tr> + <tr></tr> + <tr> + <td colspan="3" height="20" align="left" valign="center" class="bb bl userdata"><?=$model['span']?></td> + <td colspan="3" align="left" valign="center" class="bb bl userdata"><?=$model['weight']?></td> + </tr> + <tr></tr> + <tr> + <td colspan="3" height="10" align="left" valign="top" class="bl">Motortyp</td> + <td colspan="1" align="left" valign="top" class="bl">ccm</td> + <td colspan="2" align="left" valign="top" class="bl">kW (PS)</td> + </tr> + <tr></tr> + <tr> + <td colspan="3" height="20" align="left" valign="center" class="bb bl userdata"><?=$model['engine']?></td> + <td colspan="1" align="left" valign="center" class="bb bl userdata"><?=$model['ccm']?></td> + <td colspan="2" align="left" valign="center" class="bb bl userdata"><?=$model['ps']?></td> + </tr> + <tr></tr> + <tr> + <td colspan="6" height="10" align="left" valign="top" class="bl">Weitere Infos zum Modell / Original und zur Flugvorführung</td> + <td colspan="2" align="left" valign="top" class="bl br">Frequenzband (MHz/GHz)</td> + </tr> + <tr></tr> + <tr> + <td colspan="6" height="90" align="left" valign="middle" class="bb bl userdata"><?=$model['information']?></td> + <td colspan="2" align="center" valign="middle" class="bb bl br frequenzy_type"><?=$model['frequency_band']?></td> + </tr> + </table> + <?php } ?> + </div> + </div> +</div> + +<script type="text/javascript"> + function printDiv(divName) { + var printContents = document.getElementById(divName).innerHTML; + var originalContents = document.body.innerHTML; + document.body.innerHTML = printContents; + window.print(); + document.body.innerHTML = originalContents; + } + $("#guests_registration_print").addClass('active'); +</script> \ No newline at end of file diff --git a/application/views/admin/include/sidebar.php b/application/views/admin/include/sidebar.php index d68da5534d96a3502fcc51355ab95932b247cec0..160f6afb2d95ba90777497c8f360d730420a9b37 100644 --- a/application/views/admin/include/sidebar.php +++ b/application/views/admin/include/sidebar.php @@ -55,6 +55,7 @@ $cur_tab = $this->uri->segment(2)==''?'dashboard': $this->uri->segment(2); <li id="guests_add" class=""><a href="<?= base_url('admin/guests/add'); ?>"><i class="fa fa-plus"></i> Gast hinzufügen</a></li> <li id="guests_list" class=""><a href="<?= base_url('admin/guests'); ?>"><i class="fa fa-address-book"></i> Gäste anzeigen</a></li> <li id="guests_bookings" class=""><a href="<?= base_url('admin/guests/bookings'); ?>"><i class="fa fa-hand-pointer"></i> Voranmeldungen</a></li> + <li id="guests_registration_print" class=""><a href="<?= base_url('admin/guests/registration_print'); ?>"><i class="fa fa-print"></i> Anmeldung drucken</a></li> <li id="guests_visit_add" class=""><a href="<?= base_url('admin/guests/visit_add'); ?>"><i class="fa fa-user-plus"></i> Besuch erfassen</a></li> </ul> </li>