From 7718b7c998ea09da10c085624152c2f81ffea1c8 Mon Sep 17 00:00:00 2001 From: "de@itstall.de" <de@itstall.de> Date: Tue, 20 Feb 2018 17:47:52 +0100 Subject: [PATCH] members, keys, guests, dashboard --- application/controllers/admin/Dashboard.php | 5 +- application/controllers/admin/Guests.php | 18 ++++ application/controllers/admin/Members.php | 18 ++-- application/helpers/data_helper.php | 2 +- application/models/admin/Dashboard_model.php | 20 ++++- application/models/admin/Guests_model.php | 9 ++ application/models/admin/Members_model.php | 4 +- application/views/admin/dashboard/index.php | 86 +++++++++++++++++-- application/views/admin/group/group_list.php | 23 +++-- .../views/admin/guests/guests_list.php | 77 +++++++++++++++++ application/views/admin/include/navbar.php | 7 +- application/views/admin/include/sidebar.php | 46 +++++----- application/views/admin/keys/keys_list.php | 37 +++----- application/views/admin/layout.php | 43 ++-------- .../views/admin/members/member_add.php | 69 ++++++--------- .../views/admin/members/member_edit.php | 24 ++---- .../views/admin/members/member_list.php | 22 +++-- .../views/admin/members/member_view.php | 23 +++-- application/views/admin/users/user_list.php | 30 +++---- 19 files changed, 352 insertions(+), 211 deletions(-) create mode 100644 application/controllers/admin/Guests.php create mode 100644 application/models/admin/Guests_model.php create mode 100644 application/views/admin/guests/guests_list.php diff --git a/application/controllers/admin/Dashboard.php b/application/controllers/admin/Dashboard.php index 9f186ed..5e7e710 100644 --- a/application/controllers/admin/Dashboard.php +++ b/application/controllers/admin/Dashboard.php @@ -8,7 +8,10 @@ } public function index(){ $data['title'] = 'Dashboard'; - $data['member_count'] = $this->dashboard_model->get_member_count(); + $data['member_count'] = $this->dashboard_model->get_member_count(); + $data['guests_count'] = $this->dashboard_model->get_guests_count(); + $data['keys_count'] = $this->dashboard_model->get_keys_count(); + $data['member_types'] = $this->dashboard_model->get_member_types(); $data['view'] = 'admin/dashboard/index'; $this->load->view('admin/layout', $data); } diff --git a/application/controllers/admin/Guests.php b/application/controllers/admin/Guests.php new file mode 100644 index 0000000..980dd11 --- /dev/null +++ b/application/controllers/admin/Guests.php @@ -0,0 +1,18 @@ +<?php + defined('BASEPATH') OR exit('No direct script access allowed'); + + class Guests extends MY_Controller { + + public function __construct(){ + parent::__construct(); + $this->load->model('admin/guests_model', 'guests_model'); + } + + public function index(){ + $data['all_users'] = $this->guests_model->get_all_guests(); + $data['title'] = 'Gäste Liste'; + $data['view'] = 'admin/guests/guests_list'; + $this->load->view('admin/layout', $data); + } + } +?> \ No newline at end of file diff --git a/application/controllers/admin/Members.php b/application/controllers/admin/Members.php index a5b7c77..bc0cb28 100644 --- a/application/controllers/admin/Members.php +++ b/application/controllers/admin/Members.php @@ -15,14 +15,22 @@ class Members extends MY_Controller { if($user['birthday'] != '0000-00-00') { $data['all_users'][$user['id']]['birthday'] = date_to_german($user['birthday']); } else { $data['all_users'][$user['id']]['birthday'] = ''; } if($user['joined'] != '0000-00-00') { $data['all_users'][$user['id']]['joined'] = date_to_german($user['joined']); } else { $data['all_users'][$user['id']]['joined'] = ''; } if($user['withdrawal'] != '0000-00-00') { $data['all_users'][$user['id']]['withdrawal'] = date_to_german($user['withdrawal']); } else { $data['all_users'][$user['id']]['withdrawal'] = ''; } + if($user['is_member']) { $data['all_users'][$user['id']]['is_member'] = 'Ja'; } else { $data['all_users'][$user['id']]['is_member'] = 'Nein'; } } $data['title'] = 'User List'; $data['view'] = 'admin/members/member_list'; $this->load->view('admin/layout', $data); } - public function view($id) { + public function view($id, $mode=false) { $this->load->model('admin/keys_model', 'keys_model'); + if($mode == 'edit') { + $data['button_visibility'] = 'inline-block'; + } + else { + $data['button_visibility'] = 'none'; + } + $data['mode'] = $mode; $data['user'] = $this->members_model->get_user_by_id($id); $data['contact'] = $this->members_model->get_user_contacts_by_userid($id); $data['contact_types'] = $this->members_model->get_contact_types(); @@ -96,7 +104,7 @@ class Members extends MY_Controller { $result = $this->members_model->edit_user($data, $id); if($result){ $this->session->set_flashdata('msg', 'Mitglied erfolgreich bearbeitet!'); - redirect(base_url('admin/members')); + redirect(base_url('admin/members/view/'.$result)); } } else { @@ -122,7 +130,7 @@ class Members extends MY_Controller { ); //$data = $this->security->xss_clean($data); $result = $this->members_model->contact_insert($data); - redirect(base_url('admin/members/view/'.$id)); + redirect(base_url('admin/members/view/'.$id.'/edit')); } public function contact_delete($user_id) { @@ -131,7 +139,7 @@ class Members extends MY_Controller { ); $result = $this->members_model->contact_delete($data); - redirect(base_url('admin/members/view/'.$user_id)); + redirect(base_url('admin/members/view/'.$user_id.'/edit')); } public function contact_edit($user_id) { @@ -141,7 +149,7 @@ class Members extends MY_Controller { ); $result = $this->members_model->contact_edit($this->input->post('contactid'), $data); - redirect(base_url('admin/members/view/'.$user_id)); + redirect(base_url('admin/members/view/'.$user_id.'/edit')); } //--------------------------------------------------------------- diff --git a/application/helpers/data_helper.php b/application/helpers/data_helper.php index 1111709..440a2dc 100644 --- a/application/helpers/data_helper.php +++ b/application/helpers/data_helper.php @@ -6,7 +6,7 @@ return $CI->db->get_where('ci_user_groups', array('id' => $id))->row_array()['group_name']; } function date_to_german($date) { - if($date != '0000-00-00') { return date_format(date_create($date), 'd.m.Y'); } + if($date != '0000-00-00' && $date != null) { return date_format(date_create($date), 'd.m.Y'); } else { return null; } } function date_to_default($date) { diff --git a/application/models/admin/Dashboard_model.php b/application/models/admin/Dashboard_model.php index fe32157..7990735 100644 --- a/application/models/admin/Dashboard_model.php +++ b/application/models/admin/Dashboard_model.php @@ -10,8 +10,26 @@ $this->db->insert('members', $data); return true; } + public function get_member_types() { + $this->db->select('COUNT(*) AS counter, member_types.member_type_name'); + $this->db->from('members'); + $this->db->join('member_types', 'member_types.id=members.member_type_id'); + $this->db->group_by('members.member_type_id'); + $query = $this->db->get(); + $result = $query->result_array(); + return $result; + } public function get_member_count() { - return $this->db->count_all('members'); + $this->db->from('members'); + $this->db->join('member_types', 'member_types.id=members.member_type_id'); + $this->db->where('member_types.is_member', 1); + return $this->db->count_all_results(); + } + public function get_guests_count() { + return $this->db->count_all('guests'); + } + public function get_keys_count() { + return $this->db->count_all('club_keys'); } } ?> \ No newline at end of file diff --git a/application/models/admin/Guests_model.php b/application/models/admin/Guests_model.php new file mode 100644 index 0000000..9f11843 --- /dev/null +++ b/application/models/admin/Guests_model.php @@ -0,0 +1,9 @@ +<?php + class Guests_model extends CI_Model { + + public function get_all_guests() { + $query = $this->db->get('guests'); + return $result = $query->result_array(); + } + } +?> \ No newline at end of file diff --git a/application/models/admin/Members_model.php b/application/models/admin/Members_model.php index 491b532..131b650 100644 --- a/application/models/admin/Members_model.php +++ b/application/models/admin/Members_model.php @@ -7,7 +7,7 @@ return $result['id']; } public function get_all_users() { - $this->db->select('members.*, member_types.member_type_name'); + $this->db->select('members.*, member_types.member_type_name, member_types.is_member'); $this->db->from('members'); $this->db->join('member_types', 'member_types.id=members.member_type_id'); $this->db->join('insurance_types', 'insurance_types.id=members.insurance_type_id'); @@ -43,7 +43,7 @@ public function edit_user($data, $id) { $this->db->where('id', $id); $this->db->update('members', $data); - return true; + return $id; } public function get_club_functions() { $query = $this->db->get('club_functions'); diff --git a/application/views/admin/dashboard/index.php b/application/views/admin/dashboard/index.php index 6b125c8..d023e4a 100644 --- a/application/views/admin/dashboard/index.php +++ b/application/views/admin/dashboard/index.php @@ -1,9 +1,83 @@ <section class="content"> - <div class="info-box"> - <span class="info-box-icon bg-red"><i class="ion ion-ios-people-outline"></i></span> - <div class="info-box-content"> - <span class="info-box-text">Mitglieder</span> - <span class="info-box-number"><?= $member_count; ?></span> + <div class="row"> + <div class="col-md-3 col-sm-6 col-xs-12"> + <div class="info-box"> + <span class="info-box-icon bg-red"><i class="fa fa-wheelchair"></i></span> + <div class="info-box-content"> + <span class="info-box-text">Mitglieder</span> + <span class="info-box-number"><?= $member_count; ?></span> + </div> + </div> + </div> + <div class="col-md-3 col-sm-6 col-xs-12"> + <div class="info-box"> + <span class="info-box-icon bg-light-blue"><i class="fa fa-address-book"></i></span> + <div class="info-box-content"> + <span class="info-box-text">Gast Piloten</span> + <span class="info-box-number"><?= $guests_count; ?></span> + </div> + </div> + </div> + <div class="col-md-3 col-sm-6 col-xs-12"> + <div class="info-box"> + <span class="info-box-icon bg-gray"><i class="fa fa-key"></i></span> + <div class="info-box-content"> + <span class="info-box-text">Schlüssel</span> + <span class="info-box-number"><?= $keys_count; ?></span> + </div> + </div> + </div> + </div> + <div class="row"> + <div class="col-md-4 col-sm-4 col-xs-10"> + <div class="box box-primary"> + <div class="box-header with-border bg-red"> + <i class="fa fa-wheelchair"></i> + <h3 class="box-title">Mitglieder</h3> + <div class="box-tools pull-right"> + <button type="button" class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button> + <button type="button" class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button> + </div> + </div> + <div class="box-body"> + <div id="donut-chart" style="height: 300px;"></div> + </div> + </div> </div> </div> -</section> \ No newline at end of file +</section> + +<script src="<?= base_url() ?>public/plugins/flot/jquery.flot.js"></script> +<script src="<?= base_url() ?>public/plugins/flot/jquery.flot.pie.js"></script> +<script src="<?= base_url() ?>public/plugins/flot/jquery.flot.categories.js"></script> + +<script> + var donutData = [ + <?php + foreach ($member_types as $member_type) { + echo "{ label: '".$member_type['member_type_name']."<br />".$member_type['counter']."', data: 30, color: '#3c8dbc' },"; + } + ?> + ]; + $.plot('#donut-chart', donutData, { + series: { + pie: { + show : true, + radius : 1, + innerRadius: 0.5, + label : { + show : true, + radius : 2 / 3, + formatter: labelFormatter, + threshold: 0.1 + } + } + }, + legend: { + show: false + } + }); + function labelFormatter(label, series) { + return "<div style='font-size:8pt; text-align:center; padding:2px; color:white; font-weight:bold;'>" + label + "</div>"; + }; +</script> \ No newline at end of file diff --git a/application/views/admin/group/group_list.php b/application/views/admin/group/group_list.php index 5ca8114..8983412 100644 --- a/application/views/admin/group/group_list.php +++ b/application/views/admin/group/group_list.php @@ -6,10 +6,10 @@ <div class="col-md-12"> <div class="box box-body"> <div class="col-md-6"> - <h4><i class="fa fa-list"></i> User Groups</h4> + <h4><i class="fa fa-list"></i> Benutzer Gruppen</h4> </div> <div class="col-md-6 text-right"> - <a href="<?= base_url('admin/group/add'); ?>" class="btn btn-success"><i class="fa fa-plus"></i> Add New Group</a> + <a href="<?= base_url('admin/group/add'); ?>" class="btn btn-success"><i class="fa fa-plus"></i> Gruppe erstellen</a> </div> </div> @@ -22,8 +22,8 @@ <table id="example1" class="table table-bordered table-striped "> <thead> <tr> - <th>No</th> - <th>Group Name</th> + <th>Id</th> + <th>Gruppe</th> <th style="width: 150px;" class="text-right">Action</th> </tr> </thead> @@ -32,8 +32,9 @@ <tr> <td><?= ++$count; ?></td> <td><?= $row['group_name']; ?></td> - <td><a title="Delete" class="delete btn btn-sm btn-danger pull-right '.$disabled.'" data-href="<?= base_url('admin/group/del/'.$row['id']); ?>" data-toggle="modal" data-target="#confirm-delete"> <i class="fa fa-trash-o"></i></a> - <a title="Edit" class="update btn btn-sm btn-primary pull-right" href="<?= base_url('admin/group/edit/'.$row['id'])?>"> <i class="fa fa-pencil-square-o"></i></a> + <td> + <a title="Delete" class="delete btn btn-flat btn-xs btn-danger pull-right '.$disabled.'" data-href="<?= base_url('admin/group/del/'.$row['id']); ?>" data-toggle="modal" data-target="#confirm-delete"><i class="fa fa-trash"></i></a> + <a title="Edit" class="update btn btn-flat btn-xs btn-info pull-right" href="<?= base_url('admin/group/edit/'.$row['id'])?>"><i class="fa fa-edit"></i></a> </td> </tr> <?php endforeach; ?> @@ -76,9 +77,13 @@ <script src="<?= base_url() ?>public/plugins/datatables/jquery.dataTables.min.js"></script> <script src="<?= base_url() ?>public/plugins/datatables/dataTables.bootstrap.min.js"></script> <script> - $(function () { - $("#example1").DataTable(); - }); + $(function () { + $("#example1").DataTable({ + "language": { + "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/German.json" + } + }); + }); </script> <script> $("#users").addClass('active'); diff --git a/application/views/admin/guests/guests_list.php b/application/views/admin/guests/guests_list.php new file mode 100644 index 0000000..1d0934b --- /dev/null +++ b/application/views/admin/guests/guests_list.php @@ -0,0 +1,77 @@ +<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/r/bs/jszip-2.5.0,pdfmake-0.1.18,dt-1.10.9,b-1.0.3,b-html5-1.0.3,b-print-1.0.3/datatables.min.css" /> + + <section class="content"> + <div class="row"> + <div class="col-md-12"> + <div class="box box-body"> + <div class="col-md-6"> + <h4><i class="fa fa-address-book"></i> Gäste Liste</h4> + </div> + </div> + </div> + </div> + <div class="box border-top-solid"> + <div class="box-body table-responsive"> + <table id="example1" class="table table-bordered table-striped "> + <thead> + <tr> + <th>Vorname</th> + <th>Nachname</th> + <th>PLZ</th> + <th>Ort</th> + <th>Email</th> + <th>Verein</th> + </tr> + </thead> + <tbody> + <?php foreach($all_users as $row): ?> + <tr> + <td><?= $row['firstname']; ?></td> + <td><?= $row['lastname']; ?></td> + <td><?= $row['zip']; ?></td> + <td><?= $row['town']; ?></td> + <td><?= $row['email']; ?></td> + <td><?= $row['club']; ?></td> + </tr> + <?php endforeach; ?> + </tbody> + </table> + </div> + </div> +</section> + +<script type="text/javascript" src="https://cdn.datatables.net/r/bs/jszip-2.5.0,pdfmake-0.1.18,dt-1.10.9,b-1.0.3,b-html5-1.0.3,b-print-1.0.3/datatables.min.js"></script> +<!--<script src="../../plugins/slimScroll/jquery.slimscroll.min.js"></script>--> +<script> + $(function () { + var example1 = $("#example1").DataTable({ + responsive: true, + lengthMenu: [[10, 25, 50, 100, -1], [10, 25, 50, 100, "Alle"]], + buttons: ['excelHtml5'], + language: { + "sEmptyTable": "Keine Daten in der Tabelle vorhanden", + "sInfo": "_START_ bis _END_ von _TOTAL_ Einträgen", + "sInfoEmpty": "0 bis 0 von 0 Einträgen", + "sInfoFiltered": "(gefiltert von _MAX_ Einträgen)", + "sInfoPostFix": "", + "sInfoThousands": ".", + "sLengthMenu": "_MENU_ Einträge anzeigen", + "sLoadingRecords": "Wird geladen...", + "sProcessing": "Bitte warten...", + "sSearch": "Suchen", + "sZeroRecords": "Keine Einträge vorhanden.", + "oPaginate": { + "sFirst": "Erste", + "sPrevious": "Zurück", + "sNext": "Nächste", + "sLast": "Letzte" + }, + "oAria": { + "sSortAscending": ": aktivieren, um Spalte aufsteigend zu sortieren", + "sSortDescending": ": aktivieren, um Spalte absteigend zu sortieren" + } + } + }); + example1.buttons().container().appendTo($('.col-sm-6:eq(0)', example1.table().container())); + }); +</script> \ No newline at end of file diff --git a/application/views/admin/include/navbar.php b/application/views/admin/include/navbar.php index 07bcd07..8d94c2c 100644 --- a/application/views/admin/include/navbar.php +++ b/application/views/admin/include/navbar.php @@ -1,6 +1,4 @@ - - - <header class="main-header"> +<header class="main-header"> <!-- Logo --> <a href="<?= base_url('admin');?>" class="logo"> <!-- mini logo for sidebar mini 50x50 pixels --> @@ -40,5 +38,4 @@ </ul> </div> </nav> - </header> - \ No newline at end of file +</header> \ No newline at end of file diff --git a/application/views/admin/include/sidebar.php b/application/views/admin/include/sidebar.php index afe927f..7aca275 100644 --- a/application/views/admin/include/sidebar.php +++ b/application/views/admin/include/sidebar.php @@ -2,22 +2,8 @@ $cur_tab = $this->uri->segment(2)==''?'dashboard': $this->uri->segment(2); ?> -<!-- Left side column. contains the logo and sidebar --> <aside class="main-sidebar"> - <!-- sidebar: style can be found in sidebar.less --> <section class="sidebar"> - <!-- search form - <form action="#" method="get" class="sidebar-form"> - <div class="input-group"> - <input type="text" name="q" class="form-control" placeholder="Suchen..."> - <span class="input-group-btn"> - <button type="submit" name="search" id="search-btn" class="btn btn-flat"><i class="fa fa-search"></i> - </button> - </span> - </div> - </form>--> - <!-- /.search form --> - <!-- sidebar menu: : style can be found in sidebar.less --> <ul class="sidebar-menu"> <li id="users" class="treeview"> <a href="#"> @@ -44,20 +30,30 @@ $cur_tab = $this->uri->segment(2)==''?'dashboard': $this->uri->segment(2); <li id="view_users" class=""><a href="<?= base_url('admin/members'); ?>"><i class="fa fa-circle-o"></i> Mitglieder anzeigen</a></li> </ul> </li> - <li id="keys" class="treeview"> - <a href="#"> - <i class="fa fa-key"></i> <span>Schlüssel</span> - <span class="pull-right-container"> + <li id="keys" class="treeview"> + <a href="#"> + <i class="fa fa-key"></i> <span>Schlüssel</span> + <span class="pull-right-container"> <i class="fa fa-angle-left pull-right"></i> </span> - </a> - <ul class="treeview-menu"> - <li id="add_key"><a href="<?= base_url('admin/keys/add'); ?>"><i class="fa fa-circle-o"></i> Schlüssel hinzufügen</a></li> - <li id="view_keys" class=""><a href="<?= base_url('admin/keys'); ?>"><i class="fa fa-circle-o"></i> Schlüssel anzeigen</a></li> - </ul> - </li> + </a> + <ul class="treeview-menu"> + <!--<li id="add_key"><a href="<?= base_url('admin/keys/add'); ?>"><i class="fa fa-circle-o"></i> Schlüssel hinzufügen</a></li>--> + <li id="view_keys" class=""><a href="<?= base_url('admin/keys'); ?>"><i class="fa fa-circle-o"></i> Schlüssel anzeigen</a></li> + </ul> + </li> + <li id="guests" class="treeview"> + <a href="#"> + <i class="fa fa-address-book"></i> <span>Gäste</span> + <span class="pull-right-container"> + <i class="fa fa-angle-left pull-right"></i> + </span> + </a> + <ul class="treeview-menu"> + <li id="view_keys" class=""><a href="<?= base_url('admin/guests'); ?>"><i class="fa fa-circle-o"></i> Gäste anzeigen</a></li> + </ul> + </li> </section> - <!-- /.sidebar --> </aside> <script> diff --git a/application/views/admin/keys/keys_list.php b/application/views/admin/keys/keys_list.php index 44e4fb1..7ba51bb 100644 --- a/application/views/admin/keys/keys_list.php +++ b/application/views/admin/keys/keys_list.php @@ -5,21 +5,12 @@ <div class="col-md-12"> <div class="box box-body"> <div class="col-md-6"> - <h4><i class="fa fa-wheelchair"></i> Mitglieder</h4> + <h4><i class="fa fa-key"></i> Schlüssel</h4> </div> - <!-- - <div class="col-md-6 text-right"> - <div class="btn-group margin-bottom-20"> - <a href="<?= base_url('admin/member/create_users_pdf'); ?>" class="btn btn-success">Export as PDF</a> - <a href="<?= base_url('admin/member/export_csv'); ?>" class="btn btn-success">Export as CSV</a> - </div> - </div> - --> </div> </div> </div> <div class="box border-top-solid"> - <!-- /.box-header --> <div class="box-body table-responsive"> <table id="example1" class="table table-bordered table-striped "> <thead> @@ -42,19 +33,13 @@ </tr> <?php endforeach; ?> </tbody> - </table> </div> - <!-- /.box-body --> </div> - <!-- /.box --> -</section> - +</section> -<!-- Modal --> <div id="confirm-delete" class="modal fade" role="dialog"> <div class="modal-dialog"> - <!-- Modal content--> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">×</button> @@ -68,25 +53,25 @@ <a class="btn btn-danger btn-ok">Yes</a> </div> </div> - </div> </div> - -<!-- DataTables --> <script src="<?= base_url() ?>public/plugins/datatables/jquery.dataTables.min.js"></script> <script src="<?= base_url() ?>public/plugins/datatables/dataTables.bootstrap.min.js"></script> <script> - $(function () { - $("#example1").DataTable(); - }); + $(function () { + $("#example1").DataTable({ + "language": { + "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/German.json" + } + }); + }); </script> <script type="text/javascript"> $('#confirm-delete').on('show.bs.modal', function(e) { $(this).find('.btn-ok').attr('href', $(e.relatedTarget).data('href')); }); </script> - <script> -$("#view_users").addClass('active'); -</script> + $("#view_users").addClass('active'); +</script> \ No newline at end of file diff --git a/application/views/admin/layout.php b/application/views/admin/layout.php index e2662b9..b81db2c 100644 --- a/application/views/admin/layout.php +++ b/application/views/admin/layout.php @@ -3,26 +3,15 @@ <head> <title><?=isset($title)?$title.' - Codeigniter AdminLTE':'Codeigniter AdminLTE' ?></title> <meta name="keywords" content="codeigniter adminlte, adminlte, admin lte, codeigniter admin lte, codeigniter adminlte integration" /> - - <!-- Tell the browser to be responsive to screen width --> <meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport"> - <!-- Bootstrap 3.3.6 --> <link rel="stylesheet" href="<?= base_url() ?>public/bootstrap/css/bootstrap.min.css"> - <!-- Font Awesome --> - <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.5.0/css/font-awesome.min.css"> - <!-- Ionicons --> + <link href="https://use.fontawesome.com/releases/v5.0.6/css/all.css" rel="stylesheet"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css"> - <!-- Theme style --> <link rel="stylesheet" href="<?= base_url() ?>public/dist/css/AdminLTE.min.css"> - <!-- Custom CSS --> <link rel="stylesheet" href="<?= base_url() ?>public/dist/css/style.css"> - <!-- AdminLTE Skins. Choose a skin from the css/skins. --> <link rel="stylesheet" href="<?= base_url() ?>public/dist/css/skins/skin-blue.min.css"> - <!-- jQuery 2.2.3 --> <script src="<?= base_url() ?>public/plugins/jQuery/jquery-2.2.3.min.js"></script> - <!-- jQuery UI 1.11.4 --> <script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script> - </head> <body class="hold-transition skin-blue sidebar-mini"> <div class="wrapper" style="height: auto;"> @@ -33,52 +22,32 @@ <?= $this->session->flashdata('msg'); ?> </div> <?php endif; ?> - <section id="container"> - <!--header start--> <header class="header white-bg"> <?php include('include/navbar.php'); ?> </header> - <!--header end--> - <!--sidebar start--> <aside> <?php include('include/sidebar.php'); ?> </aside> - <!--sidebar end--> - <!--main content start--> <section id="main-content"> <div class="content-wrapper" style="min-height: 394px; padding:15px;"> - <!-- page start--> <?php $this->load->view($view);?> - <!-- page end--> </div> </section> - <!--main content end--> - <!--footer start--> <footer class="main-footer"> - <strong>Copyright © 2018 <a href="http://www.itstall.de" target="_blank">www.itstall.de</a></strong> All rights - reserved. + <strong>Copyright © 2018 <a href="http://www.itstall.de" target="_blank">www.itstall.de</a></strong> All rights reserved. </footer> - <!--footer end--> </section> - - <!-- /.control-sidebar --> <?php include('include/control_sidebar.php'); ?> + </div> - </div> - - - <!-- Bootstrap 3.3.6 --> <script src="<?= base_url() ?>public/bootstrap/js/bootstrap.min.js"></script> - <!-- AdminLTE App --> <script src="<?= base_url() ?>public/dist/js/app.min.js"></script> - <!-- AdminLTE for demo purposes --> <script src="<?= base_url() ?>public/dist/js/demo.js"></script> - <!-- page script --> <script type="text/javascript"> - $(".flash-msg").fadeTo(2000, 500).slideUp(500, function(){ - $(".flash-msg").slideUp(500); - }); + $(".flash-msg").fadeTo(2000, 500).slideUp(500, function() { + $(".flash-msg").slideUp(500); + }); </script> </body> diff --git a/application/views/admin/members/member_add.php b/application/views/admin/members/member_add.php index 3d8c313..afe2eb1 100644 --- a/application/views/admin/members/member_add.php +++ b/application/views/admin/members/member_add.php @@ -17,50 +17,40 @@ <div class="row"> <div class="col-md-12"> <div class="box border-top-solid"> - <!-- /.box-header --> - <!-- form start --> <div class="box-body my-form-body"> <?php echo form_open(base_url('admin/members/add'), 'class="form-horizontal"'); ?> <div class="form-group"> <label for="firstname" class="col-sm-2 control-label">Vorname</label> - <div class="col-sm-9"> - <input type="text" name="firstname" class="form-control" id="firstname" placeholder=""> + <input type="text" name="firstname" class="form-control" id="firstname" placeholder="" maxlength="50"> </div> </div> - <div class="form-group"> <label for="lastname" class="col-sm-2 control-label">Nachname</label> - <div class="col-sm-9"> - <input type="text" name="lastname" class="form-control" id="lastname" placeholder=""> + <input type="text" name="lastname" class="form-control" id="lastname" placeholder="" maxlength="50"> </div> </div> - <div class="form-group"> <label for="street" class="col-sm-2 control-label">Straße</label> - <div class="col-sm-9"> - <input type="text" name="street" class="form-control" id="street" placeholder=""> + <input type="text" name="street" class="form-control" id="street" placeholder="" maxlength="50"> </div> </div> <div class="form-group"> <label for="zip" class="col-sm-2 control-label">Postleitzahl</label> - <div class="col-sm-9"> - <input type="text" name="zip" class="form-control" id="zip" placeholder=""> + <input type="text" name="zip" class="form-control" id="zip" placeholder="" maxlength="10"> </div> </div> <div class="form-group"> <label for="town" class="col-sm-2 control-label">Ort</label> - <div class="col-sm-9"> - <input type="text" name="town" class="form-control" id="town" placeholder=""> + <input type="text" name="town" class="form-control" id="town" placeholder="" maxlength="50"> </div> </div> <div class="form-group"> <label for="birthday" class="col-sm-2 control-label">Geburtstag</label> - <div class="col-sm-9"> <div class="input-group date"> <div class="input-group-addon"><i class="fa fa-calendar"></i></div> @@ -70,7 +60,6 @@ </div> <div class="form-group"> <label for="joined" class="col-sm-2 control-label">Eintritt</label> - <div class="col-sm-9"> <div class="input-group date"> <div class="input-group-addon"><i class="fa fa-calendar"></i></div> @@ -80,7 +69,6 @@ </div> <div class="form-group"> <label for="withdrawal" class="col-sm-2 control-label">Austritt</label> - <div class="col-sm-9"> <div class="input-group date"> <div class="input-group-addon"><i class="fa fa-calendar"></i></div> @@ -90,7 +78,6 @@ </div> <div class="form-group"> <label for="insurance_type" class="col-sm-2 control-label">Versicherungs Typ</label> - <div class="col-sm-9"> <select name="insurance_type_id" class="form-control"> <?php foreach($insurance_types as $insurance_type): ?> @@ -101,41 +88,37 @@ </div> <div class="form-group"> <label for="insurance_number" class="col-sm-2 control-label">Versicherungs Nummer</label> - <div class="col-sm-9"> - <input type="text" name="insurance_number" class="form-control" id="insurance_number" placeholder=""> + <input type="text" name="insurance_number" class="form-control" id="insurance_number" placeholder="" maxlength="15"> </div> </div> - <div class="form-group"> - <label for="role" class="col-sm-2 control-label">Amt im Verein</label> - - <div class="col-sm-9"> - <select name="club_function_id" class="form-control"> - <?php foreach($club_functions as $function): ?> - <option value="<?= $function['id']; ?>"><?= $function['club_function_name']; ?></option> - <?php endforeach; ?> - </select> - </div> + <div class="form-group"> + <label for="role" class="col-sm-2 control-label">Amt im Verein</label> + <div class="col-sm-9"> + <select name="club_function_id" class="form-control"> + <?php foreach($club_functions as $function): ?> + <option value="<?= $function['id']; ?>"><?= $function['club_function_name']; ?></option> + <?php endforeach; ?> + </select> </div> - <div class="form-group"> - <label for="role" class="col-sm-2 control-label">Mitgliedschaft</label> - - <div class="col-sm-9"> - <select name="member_type_id" class="form-control"> - <?php foreach($member_types as $member_type): ?> - <option value="<?= $member_type['id']; ?>"><?= $member_type['member_type_name']; ?></option> - <?php endforeach; ?> - </select> - </div> + </div> + <div class="form-group"> + <label for="role" class="col-sm-2 control-label">Mitgliedschaft</label> + <div class="col-sm-9"> + <select name="member_type_id" class="form-control"> + <?php foreach($member_types as $member_type): ?> + <option value="<?= $member_type['id']; ?>"><?= $member_type['member_type_name']; ?></option> + <?php endforeach; ?> + </select> </div> - <div class="form-group"> + </div> + <div class="form-group"> <div class="col-md-11"> <input type="submit" name="submit" value="Mitglied hinzufügen" class="btn btn-info pull-right"> </div> - </div> + </div> <?php echo form_close( ); ?> </div> - <!-- /.box-body --> </div> </div> </div> diff --git a/application/views/admin/members/member_edit.php b/application/views/admin/members/member_edit.php index 843b5a8..b257e51 100644 --- a/application/views/admin/members/member_edit.php +++ b/application/views/admin/members/member_edit.php @@ -23,44 +23,38 @@ <?php echo form_open(base_url('admin/members/edit/'.$member_data['id']), 'class="form-horizontal"' )?> <div class="form-group"> <label for="firstname" class="col-sm-2 control-label">Vorname</label> - <div class="col-sm-9"> - <input type="text" name="firstname" class="form-control" id="firstname" placeholder="" value="<?= $member_data['firstname'];?>"> + <input type="text" name="firstname" class="form-control" id="firstname" placeholder="" value="<?= $member_data['firstname'];?>" maxlength="50"> </div> </div> <div class="form-group"> <label for="lastname" class="col-sm-2 control-label">Nachname</label> - <div class="col-sm-9"> - <input type="text" name="lastname" class="form-control" id="lastname" placeholder="" value="<?= $member_data['lastname'];?>"> + <input type="text" name="lastname" class="form-control" id="lastname" placeholder="" value="<?= $member_data['lastname'];?>" maxlength="50"> </div> </div> <div class="form-group"> <label for="street" class="col-sm-2 control-label">Straße</label> - <div class="col-sm-9"> - <input type="text" name="street" class="form-control" id="street" placeholder="" value="<?= $member_data['street'];?>"> + <input type="text" name="street" class="form-control" id="street" placeholder="" value="<?= $member_data['street'];?>" maxlength="50"> </div> </div> <div class="form-group"> <label for="zip" class="col-sm-2 control-label">Postleitzahl</label> - <div class="col-sm-9"> - <input type="text" name="zip" class="form-control" id="zip" placeholder="" value="<?= $member_data['zip'];?>"> + <input type="text" name="zip" class="form-control" id="zip" placeholder="" value="<?= $member_data['zip'];?>" maxlength="10"> </div> </div> <div class="form-group"> <label for="town" class="col-sm-2 control-label">Ort</label> - <div class="col-sm-9"> - <input type="text" name="town" class="form-control" id="town" placeholder="" value="<?= $member_data['town'];?>"> + <input type="text" name="town" class="form-control" id="town" placeholder="" value="<?= $member_data['town'];?>" maxlength="50"> </div> </div> <div class="form-group"> <label for="birthday" class="col-sm-2 control-label">Geburtstag</label> - <div class="col-sm-9"> <div class="input-group date"> <div class="input-group-addon"><i class="fa fa-calendar"></i></div> @@ -70,7 +64,6 @@ </div> <div class="form-group"> <label for="joined" class="col-sm-2 control-label">Eintritt</label> - <div class="col-sm-9"> <div class="input-group date"> <div class="input-group-addon"><i class="fa fa-calendar"></i></div> @@ -80,7 +73,6 @@ </div> <div class="form-group"> <label for="withdrawal" class="col-sm-2 control-label">Austritt</label> - <div class="col-sm-9"> <div class="input-group date"> <div class="input-group-addon"><i class="fa fa-calendar"></i></div> @@ -90,7 +82,6 @@ </div> <div class="form-group"> <label for="insurance_type" class="col-sm-2 control-label">Versicherungs Typ</label> - <div class="col-sm-9"> <select name="insurance_type_id" class="form-control"> <?php foreach($insurance_types as $insurance_type): ?> @@ -101,14 +92,12 @@ </div> <div class="form-group"> <label for="insurance_number" class="col-sm-2 control-label">Versicherungs Nummer</label> - <div class="col-sm-9"> - <input type="text" name="insurance_number" class="form-control" id="insurance_number" placeholder="" value="<?= $member_data['insurance_number'];?>"> + <input type="text" name="insurance_number" class="form-control" id="insurance_number" placeholder="" value="<?= $member_data['insurance_number'];?>" maxlength="15"> </div> </div> <div class="form-group"> <label for="role" class="col-sm-2 control-label">Amt im Verein</label> - <div class="col-sm-9"> <select name="club_function_id" class="form-control"> <?php foreach($club_functions as $function): ?> @@ -119,7 +108,6 @@ </div> <div class="form-group"> <label for="role" class="col-sm-2 control-label">Mitgliedschaft</label> - <div class="col-sm-9"> <select name="member_type_id" class="form-control"> <?php foreach($member_types as $member_type): ?> diff --git a/application/views/admin/members/member_list.php b/application/views/admin/members/member_list.php index e008d1c..19ec014 100644 --- a/application/views/admin/members/member_list.php +++ b/application/views/admin/members/member_list.php @@ -24,11 +24,12 @@ <table id="example1" class="table table-bordered table-striped "> <thead> <tr> - <th>Vorname</th> - <th>Nachname</th> - <th>Geburtstag</th> - <th>Eintritt</th> - <th>Austritt</th> + <th>Vorname</th> + <th>Nachname</th> + <th>Geburtstag</th> + <th>Eintritt</th> + <th>Austritt</th> + <th>Mitglied</th> <th>Mitgliedschaft</th> <th style="width: 100px;" class="text-right">Optionen</th> </tr> @@ -40,8 +41,9 @@ <td><?= $row['lastname']; ?></td> <td><?= $row['birthday']; ?></td> <td><?= $row['joined']; ?></td> - <td><?php if($row['withdrawal'] != '00.00.0000') { echo $row['withdrawal']; } ?></td> - <td><?= $row['member_type_name']; ?></td> + <td><?php if($row['withdrawal'] != '00.00.0000') { echo $row['withdrawal']; } ?></td> + <td><?= $row['is_member']; ?></td> + <td><?= $row['member_type_name']; ?></td> <td class="text-right"> <a href="<?= base_url('admin/members/view/'.$row['id']); ?>" class="btn btn-info btn-flat btn-xs"><i class="fa fa-eye"></i></a> <a href="<?= base_url('admin/members/edit/'.$row['id']); ?>" class="btn btn-danger btn-flat btn-xs"><i class="fa fa-edit"></i></a> @@ -85,7 +87,11 @@ <script src="<?= base_url() ?>public/plugins/datatables/dataTables.bootstrap.min.js"></script> <script> $(function () { - $("#example1").DataTable(); + $("#example1").DataTable({ + "language": { + "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/German.json" + } + }); }); </script> <script type="text/javascript"> diff --git a/application/views/admin/members/member_view.php b/application/views/admin/members/member_view.php index 2c06d64..c945959 100644 --- a/application/views/admin/members/member_view.php +++ b/application/views/admin/members/member_view.php @@ -7,7 +7,8 @@ </div> <div class="col-md-6 text-right"> <div class="btn-group margin-bottom-20"> - <a href="<?= base_url('admin/members/edit/'.$user['id']); ?>" class="btn btn-info"><i class="fa fa-edit"></i> Bearbeiten</a> + <a href="<?= base_url('admin/members/edit/'.$user['id']); ?>" class="btn btn-info"><i class="fa fa-edit"></i> Stammdaten</a> + <a onclick="javascript:edit_contact()" class="btn btn-info edit_activate"><i class="fa fa-edit"></i> Kontaktdaten</a> </div> </div> </div> @@ -68,24 +69,24 @@ <?php } ?> </div> <div class="box-body my-form-body"> - <h3>Kontaktdaten <button type="button" class="btn btn-success btn-sm" data-toggle="modal" data-target="#contact_add">+</button></h3> + <h3>Kontaktdaten <button style="display: <?= $button_visibility ?>;" type="button" class="btn btn-success btn-sm contact_add" data-toggle="modal" data-target="#contact_add">+</button></h3> <?php foreach ($contact AS $condata) { ?> <div class="form-group"> <div class="col-sm-4"><?= $condata['contact_type_name']; ?></div> <div class="col-sm-6"> - <button type="button" class="btn btn-info btn-sm" data-toggle="modal" data-target="#contact_edit" data-contactid="<?= $condata['id']?>" data-contactvalue="<?= $condata['value']?>" data-contact_type_id="<?= $condata['contact_type_id']?>"><i class="fa fa-edit"></i></button> - <button type="button" class="btn btn-danger btn-sm" data-toggle="modal" data-target="#contact_delete" data-contactid="<?= $condata['id']?>"><i class="fa fa-trash"></i></button> + <button style="display: <?= $button_visibility ?>;" type="button" class="btn btn-info btn-sm contact_edit" data-toggle="modal" data-target="#contact_edit" data-contactid="<?= $condata['id']?>" data-contactvalue="<?= $condata['value']?>" data-contact_type_id="<?= $condata['contact_type_id']?>"><i class="fa fa-edit"></i></button> + <button style="display: <?= $button_visibility ?>;" type="button" class="btn btn-danger btn-sm contact_delete" data-toggle="modal" data-target="#contact_delete" data-contactid="<?= $condata['id']?>"><i class="fa fa-trash"></i></button> <?= $condata['value']; ?></div> </div> <?php } ?> </div> <div class="box-body my-form-body"> - <h3>Schlüssel <button type="button" class="btn btn-success btn-sm" data-toggle="modal" data-target="#club_key_add">+</button></h3> + <h3>Schlüssel <button style="display: <?= $button_visibility ?>;" type="button" class="btn btn-success btn-sm club_key_add" data-toggle="modal" data-target="#club_key_add">+</button></h3> <?php foreach ($club_keys AS $club_key) { ?> <div class="form-group"> <div class="col-sm-4">Schlüsselnummer</div> <div class="col-sm-6"> - <?= $club_key['key_number']; ?> <button type="button" class="btn btn-danger btn-sm" data-toggle="modal" data-target="#key_delete" data-contactid="<?= $club_key['key_number']?>"><i class="fa fa-trash"></i></button> + <?= $club_key['key_number']; ?> <button style="display: <?= $button_visibility ?>;" type="button" class="btn btn-danger btn-sm key_delete" data-toggle="modal" data-target="#key_delete" data-contactid="<?= $club_key['key_number']?>"><i class="fa fa-trash"></i></button> </div> </div> <?php } ?> @@ -174,7 +175,7 @@ </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Abbruch</button> - <button type="submit" class="btn btn-success">Bearbeiten</button> + <button type="submit" class="btn btn-success">Speichern</button> </div> <?php echo form_close( ); ?> </div> @@ -200,4 +201,12 @@ modal.find('.modal-body #contactvalue').val(contactvalue) modal.find('.modal-body select').val(contact_type_id) }); + function edit_contact() { + $('.club_key_add').css('display', 'inline-block'); + $('.key_delete').css('display', 'inline-block'); + $('.contact_add').css('display', 'inline-block'); + $('.contact_edit').css('display', 'inline-block'); + $('.contact_delete').css('display', 'inline-block'); + $('.edit_activate').css('display', 'none'); + } </script> \ No newline at end of file diff --git a/application/views/admin/users/user_list.php b/application/views/admin/users/user_list.php index 5373966..0a8c3c0 100644 --- a/application/views/admin/users/user_list.php +++ b/application/views/admin/users/user_list.php @@ -6,13 +6,7 @@ <div class="col-md-12"> <div class="box box-body"> <div class="col-md-6"> - <h4><i class="fa fa-list"></i> User List with (Simple Datatables) Example</h4> - </div> - <div class="col-md-6 text-right"> - <div class="btn-group margin-bottom-20"> - <a href="<?= base_url('admin/users/create_users_pdf'); ?>" class="btn btn-success">Export as PDF</a> - <a href="<?= base_url('admin/users/export_csv'); ?>" class="btn btn-success">Export as CSV</a> - </div> + <h4><i class="fa fa-list"></i> Benutzer</h4> </div> </div> @@ -24,12 +18,11 @@ <table id="example1" class="table table-bordered table-striped "> <thead> <tr> - <th>First Name</th> - <th>Last Name</th> + <th>Vorname</th> + <th>Nachname</th> <th>Email</th> - <th>Mobile No.</th> <th>Status</th> - <th>Group/Role</th> + <th>Gruppe</th> <th style="width: 100px;" class="text-right">Option</th> </tr> </thead> @@ -39,11 +32,10 @@ <td><?= $row['firstname']; ?></td> <td><?= $row['lastname']; ?></td> <td><?= $row['email']; ?></td> - <td><?= $row['mobile_no']; ?></td> <td><span class="btn btn-primary btn-flat btn-xs"><?= ($row['is_active'] == 0)?'Inactive': 'Active' ?><span></td> <td><span class="btn btn-primary btn-flat btn-xs bg-green"><?= getGroupyName($row['role']) ?><span></td> - <td class="text-right"><a href="<?= base_url('admin/users/edit/'.$row['id']); ?>" class="btn btn-info btn-flat btn-xs">Edit</a> - <a data-href="<?= base_url('admin/users/del/'.$row['id']); ?>" class="btn btn-danger btn-flat btn-xs" data-toggle="modal" data-target="#confirm-delete">Delete</a> + <td class="text-right"><a href="<?= base_url('admin/users/edit/'.$row['id']); ?>" class="btn btn-info btn-flat btn-xs"><i class="fa fa-edit"></i></a> + <a data-href="<?= base_url('admin/users/del/'.$row['id']); ?>" class="btn btn-danger btn-flat btn-xs" data-toggle="modal" data-target="#confirm-delete"><i class="fa fa-trash"></i></a> </td> </tr> <?php endforeach; ?> @@ -83,9 +75,13 @@ <script src="<?= base_url() ?>public/plugins/datatables/jquery.dataTables.min.js"></script> <script src="<?= base_url() ?>public/plugins/datatables/dataTables.bootstrap.min.js"></script> <script> - $(function () { - $("#example1").DataTable(); - }); + $(function () { + $("#example1").DataTable({ + "language": { + "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/German.json" + } + }); + }); </script> <script type="text/javascript"> $('#confirm-delete').on('show.bs.modal', function(e) { -- GitLab