diff --git a/application/controllers/admin/Keys.php b/application/controllers/admin/Keys.php new file mode 100644 index 0000000000000000000000000000000000000000..2ed257c7877e3346cbb0a864af9e0bb69f0010a1 --- /dev/null +++ b/application/controllers/admin/Keys.php @@ -0,0 +1,66 @@ +<?php +defined('BASEPATH') OR exit('No direct script access allowed'); + +class Keys extends MY_Controller { + + public function __construct(){ + parent::__construct(); + $this->load->model('admin/keys_model', 'keys_model'); + } + public function index(){ + $data['all_keys'] = $this->keys_model->get_all_keys(); + $data['title'] = 'Schlüssel Verwaltung'; + $data['view'] = 'admin/keys/keys_list'; + $this->load->view('admin/layout', $data); + } + public function add(){ + if($this->input->post('submit')){ + $this->form_validation->set_rules('group_name', 'Group', 'trim|min_length[3]|required'); + if ($this->form_validation->run() == FALSE) { + $data['title'] = 'Add Group'; + $data['view'] = 'admin/group/group_add'; + $this->load->view('admin/layout', $data); + } + else{ + $data = array( + 'group_name' => $this->input->post('group_name'), + ); + $data = $this->security->xss_clean($data); + $result = $this->keys_model->add_group($data); + if($result){ + $this->session->set_flashdata('msg', 'Group is Added Successfully!'); + redirect(base_url('admin/group')); + } + } + } + else{ + $data['title'] = 'Add Group'; + $data['view'] = 'admin/group/group_add'; + $this->load->view('admin/layout', $data); + } + } + public function edit($id=0){ + if($this->input->post('submit')){ + $data = array( + 'group_name' => $this->input->post('group_name'), + ); + $data = $this->security->xss_clean($data); + $result = $this->keys_model->edit_group($data, $id); + if($result){ + $this->session->set_flashdata('msg', 'Group is Added Successfully!'); + redirect(base_url('admin/group')); + } + } + else{ + $data['title'] = 'Edit Group'; + $data['view'] = 'admin/group/group_edit'; + $this->load->view('admin/layout', $data); + } + } + public function del($id){ + $this->db->delete('ci_user_groups', array('id' => $id)); + $this->session->set_flashdata('msg', 'Record is Deleted Successfully!'); + redirect(base_url('admin/group')); + } +} +?> \ No newline at end of file diff --git a/application/controllers/admin/Members.php b/application/controllers/admin/Members.php index 97ec8b461317145935d7cf87aade43b11cb0b6ba..a5b7c77590fcf8c49a3ac13945a0866e0dc6a1e6 100644 --- a/application/controllers/admin/Members.php +++ b/application/controllers/admin/Members.php @@ -22,9 +22,11 @@ class Members extends MY_Controller { } public function view($id) { + $this->load->model('admin/keys_model', 'keys_model'); $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(); + $data['club_keys'] = $this->keys_model->get_keys_by_userid($id); $data['title'] = 'View member'; $data['view'] = 'admin/members/member_view'; $this->load->view('admin/layout', $data); diff --git a/application/helpers/data_helper.php b/application/helpers/data_helper.php index d15a389b16cb82eeb95b1225649996dbdf2665e1..1111709db798de98fb7336d704f9ad8975311f65 100644 --- a/application/helpers/data_helper.php +++ b/application/helpers/data_helper.php @@ -6,7 +6,8 @@ return $CI->db->get_where('ci_user_groups', array('id' => $id))->row_array()['group_name']; } function date_to_german($date) { - return date_format(date_create($date), 'd.m.Y'); + if($date != '0000-00-00') { return date_format(date_create($date), 'd.m.Y'); } + else { return null; } } function date_to_default($date) { $temp_date = date_parse_from_format("d.m.Y", $date); diff --git a/application/models/admin/Keys_model.php b/application/models/admin/Keys_model.php new file mode 100644 index 0000000000000000000000000000000000000000..66b034498867bda4e09a354669ed1953a4e1d4a6 --- /dev/null +++ b/application/models/admin/Keys_model.php @@ -0,0 +1,31 @@ +<?php + class Keys_model extends CI_Model{ + + public function add_key($data){ + $this->db->insert('club_keys', $data); + return true; + } + + public function get_all_keys(){ + $this->db->select('club_keys.*, members.firstname, members.lastname'); + $this->db->from('club_keys'); + $this->db->join('members', 'members.id=club_keys.member_id'); + $query = $this->db->get(); + return $result = $query->result_array(); + } + + public function edit_key($data, $id){ + $this->db->where('id', $id); + $this->db->update('club_keys', $data); + return true; + } + + public function get_keys_by_userid($id) { + $this->db->select('key_number'); + $this->db->from('club_keys'); + $this->db->where('member_id', $id); + $query = $this->db->get(); + 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 21c5e1902e3a017c863fa77197d8155f237296d4..491b5323882cee78c9ca9d843a2fa3f5691b2bd4 100644 --- a/application/models/admin/Members_model.php +++ b/application/models/admin/Members_model.php @@ -6,9 +6,7 @@ $result = $query->row_array(); return $result['id']; } - public function get_all_users(){ - //$this->db->where('is_admin', 0); - //$query = $this->db->get('members'); + public function get_all_users() { $this->db->select('members.*, member_types.member_type_name'); $this->db->from('members'); $this->db->join('member_types', 'member_types.id=members.member_type_id'); @@ -30,7 +28,6 @@ $this->db->join('club_functions', 'club_functions.id=members.club_function_id'); $this->db->join('member_types', 'member_types.id=members.member_type_id'); $this->db->join('insurance_types', 'insurance_types.id=members.insurance_type_id'); - //$this->db->join('contact AS co', 'co.member_id=members.id'); $query = $this->db->get(); return $result = $query->row_array(); } diff --git a/application/views/admin/include/sidebar.php b/application/views/admin/include/sidebar.php index a713a9d395d4d7fdbf1fe69d0349a3b1d41c34b9..afe927f7d4de7580530e8e018810dd80799d1987 100644 --- a/application/views/admin/include/sidebar.php +++ b/application/views/admin/include/sidebar.php @@ -6,7 +6,7 @@ $cur_tab = $this->uri->segment(2)==''?'dashboard': $this->uri->segment(2); <aside class="main-sidebar"> <!-- sidebar: style can be found in sidebar.less --> <section class="sidebar"> - <!-- search form --> + <!-- search form <form action="#" method="get" class="sidebar-form"> <div class="input-group"> <input type="text" name="q" class="form-control" placeholder="Suchen..."> @@ -15,35 +15,47 @@ $cur_tab = $this->uri->segment(2)==''?'dashboard': $this->uri->segment(2); </button> </span> </div> - </form> + </form>--> <!-- /.search form --> <!-- sidebar menu: : style can be found in sidebar.less --> <ul class="sidebar-menu"> - <li id="users" class="treeview"> - <a href="#"> - <i class="fa fa-users"></i> <span>System Benutzer</span> - <span class="pull-right-container"> - <i class="fa fa-angle-left pull-right"></i> - </span> - </a> - <ul class="treeview-menu"> - <li id="add_user"><a href="<?= base_url('admin/users/add'); ?>"><i class="fa fa-circle-o"></i> Benutzer hinzufügen</a></li> - <li id="view_users" class=""><a href="<?= base_url('admin/users'); ?>"><i class="fa fa-circle-o"></i> Benutzer anzeigen</a></li> - <li id="user_group" class=""><a href="<?= base_url('admin/group'); ?>"><i class="fa fa-circle-o"></i> Benutzer Gruppen</a></li> - </ul> - </li> - <li id="members" class="treeview"> - <a href="#"> - <i class="fa fa-wheelchair"></i> <span>Mitglieder</span> - <span class="pull-right-container"> - <i class="fa fa-angle-left pull-right"></i> - </span> - </a> - <ul class="treeview-menu"> - <li id="add_user"><a href="<?= base_url('admin/members/add'); ?>"><i class="fa fa-circle-o"></i> Mitglied hinzufügen</a></li> - <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="users" class="treeview"> + <a href="#"> + <i class="fa fa-users"></i> <span>System Benutzer</span> + <span class="pull-right-container"> + <i class="fa fa-angle-left pull-right"></i> + </span> + </a> + <ul class="treeview-menu"> + <li id="add_user"><a href="<?= base_url('admin/users/add'); ?>"><i class="fa fa-circle-o"></i> Benutzer hinzufügen</a></li> + <li id="view_users" class=""><a href="<?= base_url('admin/users'); ?>"><i class="fa fa-circle-o"></i> Benutzer anzeigen</a></li> + <li id="user_group" class=""><a href="<?= base_url('admin/group'); ?>"><i class="fa fa-circle-o"></i> Benutzer Gruppen</a></li> + </ul> + </li> + <li id="members" class="treeview"> + <a href="#"> + <i class="fa fa-wheelchair"></i> <span>Mitglieder</span> + <span class="pull-right-container"> + <i class="fa fa-angle-left pull-right"></i> + </span> + </a> + <ul class="treeview-menu"> + <li id="add_user"><a href="<?= base_url('admin/members/add'); ?>"><i class="fa fa-circle-o"></i> Mitglied hinzufügen</a></li> + <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"> + <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> </section> <!-- /.sidebar --> </aside> diff --git a/application/views/admin/keys/keys_add.php b/application/views/admin/keys/keys_add.php new file mode 100644 index 0000000000000000000000000000000000000000..3d8c3139dc0956d6aacabcd93e66a7e16857f42a --- /dev/null +++ b/application/views/admin/keys/keys_add.php @@ -0,0 +1,142 @@ +<script src="<?= base_url() ?>public/plugins/datepicker/bootstrap-datepicker.js"></script> +<link rel="stylesheet" href="<?= base_url() ?>public/plugins/bootstrap-datepicker/css/datepicker.css"> +<script> + $('#datepicker').datepicker({}) +</script> + +<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> Mitglied hinzufügen</h4> + </div> + </div> + </div> + </div> + <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=""> + </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=""> + </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=""> + </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=""> + </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=""> + </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> + <input type="text" class="form-control pull-right datepicker" id="datepicker" name="birthday" data-provide="datepicker" data-date-format="dd.mm.yyyy"> + </div> + </div> + </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> + <input type="text" class="form-control pull-right datepicker" id="datepicker" name="joined" data-provide="datepicker" data-date-format="dd.mm.yyyy"> + </div> + </div> + </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> + <input type="text" class="form-control pull-right datepicker" id="datepicker" name="withdrawal" data-provide="datepicker" data-date-format="dd.mm.yyyy"> + </div> + </div> + </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): ?> + <option value="<?= $insurance_type['id']; ?>"><?= $insurance_type['insurance_type_name']; ?></option> + <?php endforeach; ?> + </select> + </div> + </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=""> + </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> + <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"> + <div class="col-md-11"> + <input type="submit" name="submit" value="Mitglied hinzufügen" class="btn btn-info pull-right"> + </div> + </div> + <?php echo form_close( ); ?> + </div> + <!-- /.box-body --> + </div> + </div> + </div> +</section> \ No newline at end of file diff --git a/application/views/admin/keys/keys_list.php b/application/views/admin/keys/keys_list.php new file mode 100644 index 0000000000000000000000000000000000000000..44e4fb1a2c2512a1078ec55e6800ada8f2aa796a --- /dev/null +++ b/application/views/admin/keys/keys_list.php @@ -0,0 +1,92 @@ +<link rel="stylesheet" href="<?= base_url() ?>public/plugins/datatables/dataTables.bootstrap.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-wheelchair"></i> Mitglieder</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> + <tr> + <th>Nummer</th> + <th>Besitzer</th> + <th>Ausgabe Datum</th> + <th style="width: 100px;" class="text-right">Optionen</th> + </tr> + </thead> + <tbody> + <?php foreach($all_keys as $row): ?> + <tr> + <td><?= $row['key_number']; ?></td> + <td><?= $row['firstname'].' '.$row['lastname'];; ?></td> + <td><?= date_to_german($row['key_distribution']); ?></td> + <td class="text-right"> + <a href="<?= base_url('admin/members/view/'.$row['member_id']); ?>" class="btn btn-danger btn-flat btn-xs"><i class="fa fa-edit"></i></a> + </td> + </tr> + <?php endforeach; ?> + </tbody> + + </table> + </div> + <!-- /.box-body --> + </div> + <!-- /.box --> +</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> + <h4 class="modal-title">Delete Dialog</h4> + </div> + <div class="modal-body"> + <p>As you sure you want to delete.</p> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> + <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(); + }); +</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> diff --git a/application/views/admin/members/member_view.php b/application/views/admin/members/member_view.php index dab3cb3274512d63334dc3e8175901a0f0ecc655..2c06d6419943f5ca92972c24fa744d5a10f40eb5 100644 --- a/application/views/admin/members/member_view.php +++ b/application/views/admin/members/member_view.php @@ -70,16 +70,27 @@ <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> <?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> + <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> <?= $condata['value']; ?></div> - </div> + </div> <?php } ?> </div> - </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> + <?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> + </div> + </div> + <?php } ?> + </div> + </div> </div> </div> </section>