diff --git a/application/controllers/admin/Adminlte.php b/application/controllers/admin/Adminlte.php index 6da1bb9ef6d54351b4019e0d923e7d1afa1239b6..5af89ce4a0cf16f5d22354938e9add80bc24217e 100644 --- a/application/controllers/admin/Adminlte.php +++ b/application/controllers/admin/Adminlte.php @@ -131,8 +131,4 @@ $data['view'] = 'admin/adminlte/examples/pace'; $this->load->view('admin/layout', $data); } - - - - } \ No newline at end of file diff --git a/application/controllers/admin/Auth.php b/application/controllers/admin/Auth.php index f8c681762a7a7ec2981fe487eebe6481991e74fb..e1acaa5a4fe52c59463d3a0a8a6d8d6cf3e506a3 100644 --- a/application/controllers/admin/Auth.php +++ b/application/controllers/admin/Auth.php @@ -2,25 +2,22 @@ defined('BASEPATH') OR exit('No direct script access allowed'); class Auth extends CI_Controller { - - public function __construct(){ + public function __construct() { parent::__construct(); - $this->load->model('admin/auth_model', 'auth_model'); + $this->load->model('admin/auth_model', 'auth_model'); + $this->load->model('admin/logging_model', 'logging_model'); } - - public function index(){ - if($this->session->has_userdata('is_admin_login')) - { + public function index() { + if($this->session->has_userdata('is_admin_login')) { redirect('admin/dashboard'); } - else{ + else { redirect('admin/auth/login'); } } + public function login() { - public function login(){ - - if($this->input->post('submit')){ + if($this->input->post('submit')) { $this->form_validation->set_rules('email', 'Email', 'trim|required'); $this->form_validation->set_rules('password', 'Password', 'trim|required'); @@ -40,21 +37,22 @@ 'is_admin_login' => TRUE ); $this->session->set_userdata($admin_data); + $this->logging_model->history_write($result['id'], 'Login'); redirect(base_url('admin/dashboard'), 'refresh'); } - else{ + else { + $this->logging_model->history_write($result['id'], 'Login failed'); $data['msg'] = 'Invalid Email or Password!'; $this->load->view('admin/auth/login', $data); } } } - else{ + else { $data['title'] = 'Login'; $this->load->view('admin/auth/login'); } - } - - public function profile(){ + } + public function profile() { if($this->input->post('submit')){ $data = array( 'username' => $this->input->post('username'), @@ -66,22 +64,21 @@ ); $data = $this->security->xss_clean($data); $result = $this->auth_model->update_admin($data); - if($result){ + if($result) { $this->session->set_flashdata('msg', 'Record is Updated Successfully!'); redirect(base_url('admin/auth/profile'), 'refresh'); } } - else{ + else { $data['admin'] = $this->auth_model->get_admin_detail(); $data['title'] = 'User Profile'; $data['view'] = 'admin/auth/profile'; $this->load->view('admin/layout', $data); } } - - public function change_pwd(){ + public function change_pwd() { $id = $this->session->userdata('admin_id'); - if($this->input->post('submit')){ + if($this->input->post('submit')) { $this->form_validation->set_rules('password', 'Password', 'trim|required'); $this->form_validation->set_rules('confirm_pwd', 'Confirm Password', 'trim|required|matches[password]'); if ($this->form_validation->run() == FALSE) { @@ -89,30 +86,28 @@ $data['view'] = 'admin/auth/profile'; $this->load->view('admin/layout', $data); } - else{ + else { $data = array( 'password' => password_hash($this->input->post('password'), PASSWORD_BCRYPT) ); $result = $this->auth_model->change_pwd($data, $id); - if($result){ + if($result) { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'Changed Password'); $this->session->set_flashdata('msg', 'Password has been changed successfully!'); redirect(base_url('admin/auth/profile')); } } } - else{ + else { $data['title'] = 'Change Password'; $data['view'] = 'admin/auth/change_pwd'; $this->load->view('admin/layout', $data); } } - - public function logout(){ + public function logout() { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'Logout'); $this->session->sess_destroy(); redirect(base_url('admin/auth/login'), 'refresh'); } - - } // end class - - + } ?> \ No newline at end of file diff --git a/application/controllers/admin/Export.php b/application/controllers/admin/Export.php index c4d8d6b1f1f51e3c1012dbd9edf1eb6783ad7b6e..964ffaaf8c423f254be288c708c3301383b087a7 100644 --- a/application/controllers/admin/Export.php +++ b/application/controllers/admin/Export.php @@ -7,6 +7,7 @@ parent::__construct(); $this->load->helper('download'); $this->load->library('zip'); + $this->load->model('admin/logging_model', 'logging_model'); } public function index(){ @@ -16,7 +17,7 @@ } public function dbexport(){ - + $this->logging_model->history_write($this->session->userdata('admin_id'), 'exported Database'); $this->load->dbutil(); $db_format = array( 'ignore' => array($this->ignore_directories), diff --git a/application/controllers/admin/Group.php b/application/controllers/admin/Group.php index 11c8f14912ca6c1aea4bb570068ccfa49405e21e..fb80537ec621af8d2f9b2593f2e224667aabda0f 100644 --- a/application/controllers/admin/Group.php +++ b/application/controllers/admin/Group.php @@ -6,6 +6,7 @@ public function __construct(){ parent::__construct(); $this->load->model('admin/group_model', 'group_model'); + $this->load->model('admin/logging_model', 'logging_model'); } public function index(){ $data['all_groups'] = $this->group_model->get_all_groups(); @@ -27,7 +28,8 @@ ); $data = $this->security->xss_clean($data); $result = $this->group_model->add_group($data); - if($result){ + if($result) { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'added', 'ci_user_groups', $result); $this->session->set_flashdata('msg', 'Group is Added Successfully!'); redirect(base_url('admin/group')); } @@ -39,14 +41,15 @@ $this->load->view('admin/layout', $data); } } - public function edit($id=0){ + 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->group_model->edit_group($data, $id); - if($result){ + if($result) { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'edited', 'ci_user_groups', $result); $this->session->set_flashdata('msg', 'Group is Added Successfully!'); redirect(base_url('admin/group')); } @@ -58,8 +61,9 @@ $this->load->view('admin/layout', $data); } } - public function del($id){ + public function del($id) { $this->db->delete('ci_user_groups', array('id' => $id)); + $this->logging_model->history_write($this->session->userdata('admin_id'), 'deleted', 'ci_user_groups', $id); $this->session->set_flashdata('msg', 'Record is Deleted Successfully!'); redirect(base_url('admin/group')); } diff --git a/application/controllers/admin/Guests.php b/application/controllers/admin/Guests.php index 980dd11aabd1b9434c1b7838690cb3a193c214e8..3ac29283eff092a21759ccde8e1286068fb97cf9 100644 --- a/application/controllers/admin/Guests.php +++ b/application/controllers/admin/Guests.php @@ -3,16 +3,47 @@ class Guests extends MY_Controller { - public function __construct(){ + public function __construct() { parent::__construct(); $this->load->model('admin/guests_model', 'guests_model'); + $this->load->model('admin/logging_model', 'logging_model'); } - public function index(){ + 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); } + + public function add() { + if($this->input->post('submit')) { + if($this->input->post('birthday')) { $birthday = date_to_default($this->input->post('birthday')); } else { $birthday = null; } + $data = array( + 'firstname' => $this->input->post('firstname'), + 'lastname' => $this->input->post('lastname'), + 'street' => $this->input->post('street'), + 'zip' => $this->input->post('zip'), + 'town' => $this->input->post('town'), + 'birthday' => $birthday, + 'phone' => $this->input->post('phone'), + 'email' => $this->input->post('email'), + 'club' => $this->input->post('club'), + 'insurance_number' => $this->input->post('insurance_number'), + ); + $data = $this->security->xss_clean($data); + $result = $this->guests_model->guest_add($data); + if($result) { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'added', 'guests', $result); + $this->session->set_flashdata('msg', 'Gastpilot erfolgreich hinzugefügt!'); + redirect(base_url('admin/guests')); + } + } + else{ + $data['title'] = 'Add Guest'; + $data['view'] = 'admin/guests/guests_add'; + $this->load->view('admin/layout', $data); + } + } } ?> \ No newline at end of file diff --git a/application/controllers/admin/Keys.php b/application/controllers/admin/Keys.php index 2ed257c7877e3346cbb0a864af9e0bb69f0010a1..9a90433eaabc11eab9817a15d89dd66ff488d621 100644 --- a/application/controllers/admin/Keys.php +++ b/application/controllers/admin/Keys.php @@ -6,58 +6,32 @@ class Keys extends MY_Controller { public function __construct(){ parent::__construct(); $this->load->model('admin/keys_model', 'keys_model'); + $this->load->model('admin/logging_model', 'logging_model'); } - public function index(){ + public function index() { + $this->load->model('admin/members_model', 'members_model'); $data['all_keys'] = $this->keys_model->get_all_keys(); $data['title'] = 'Schlüssel Verwaltung'; $data['view'] = 'admin/keys/keys_list'; + $data['members'] = $this->members_model->get_all_users(); $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 edit() { + $data = array( + 'key_number' => $this->input->post('keyid'), + 'member_id' => $this->input->post('member_id'), + 'key_distribution' => date_to_default($this->input->post('key_distribution')) + ); + $data = $this->security->xss_clean($data); + $result = $this->keys_model->edit_key($data); + if($result) { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'edited', 'club_keys', $this->input->post('keyid')); + $this->session->set_flashdata('msg', 'Key changed Successfully!'); + redirect(base_url('admin/keys')); } } - public function del($id){ + public function del($id) { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'deleted', 'club_keys', $id); $this->db->delete('ci_user_groups', array('id' => $id)); $this->session->set_flashdata('msg', 'Record is Deleted Successfully!'); redirect(base_url('admin/group')); diff --git a/application/controllers/admin/Members.php b/application/controllers/admin/Members.php index bc0cb285148c3f0616762626412d31759f4b81a5..de309861d0286ca388adf342ee652d8646d98288 100644 --- a/application/controllers/admin/Members.php +++ b/application/controllers/admin/Members.php @@ -6,6 +6,7 @@ class Members extends MY_Controller { public function __construct(){ parent::__construct(); $this->load->model('admin/members_model', 'members_model'); + $this->load->model('admin/logging_model', 'logging_model'); } public function index() { @@ -15,6 +16,7 @@ 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['knowledge_proof'] != '0000-00-00') { $data['all_users'][$user['id']]['knowledge_proof'] = date_to_german($user['knowledge_proof']); } else { $data['all_users'][$user['id']]['knowledge_proof'] = ''; } 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'; @@ -24,12 +26,8 @@ class Members extends MY_Controller { 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'; - } + 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); @@ -40,13 +38,13 @@ class Members extends MY_Controller { $this->load->view('admin/layout', $data); } - //--------------------------------------------------------------- - // Add User public function add() { if($this->input->post('submit')) { if($this->input->post('birthday')) { $birthday = date_to_default($this->input->post('birthday')); } else { $birthday = null; } if($this->input->post('joined')) { $joined = date_to_default($this->input->post('joined')); } else { $joined = null; } if($this->input->post('withdrawal')) { $withdrawal = date_to_default($this->input->post('withdrawal')); } else { $withdrawal = null; } + if($this->input->post('knowledge_proof') == 'on') { $knowledge_proof = date_to_default($this->input->post('knowledge_proof'));; } else { $knowledge_proof = null; } + if($this->input->post('flight_manager') == 'on') { $flight_manager = 1; } else { $flight_manager = 0; } $data = array( 'firstname' => $this->input->post('firstname'), 'lastname' => $this->input->post('lastname'), @@ -60,15 +58,18 @@ class Members extends MY_Controller { 'insurance_number' => $this->input->post('insurance_number'), 'member_type_id' => $this->input->post('member_type_id'), 'club_function_id' => $this->input->post('club_function_id'), + 'knowledge_proof' => $knowledge_proof, + 'flight_manager' => $flight_manager, ); $data = $this->security->xss_clean($data); $result = $this->members_model->add_member($data); - if($result){ + if($result) { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'added', 'members', $result); $this->session->set_flashdata('msg', 'Mitglied erfolgreich hinzugefügt!'); redirect(base_url('admin/members/view/'.$result)); } } - else{ + else { $data['club_functions'] = $this->members_model->get_club_functions(); $data['member_types'] = $this->members_model->get_member_types(); $data['insurance_types'] = $this->members_model->get_insurance_types(); @@ -76,16 +77,17 @@ class Members extends MY_Controller { $data['view'] = 'admin/members/member_add'; $this->load->view('admin/layout', $data); } - } //--------------------------------------------------------------- // Edit User - public function edit($id = 0){ + public function edit($id = 0) { if($this->input->post('submit')) { if($this->input->post('birthday')) { $birthday = date_to_default($this->input->post('birthday')); } else { $birthday = null; } if($this->input->post('joined')) { $joined = date_to_default($this->input->post('joined')); } else { $joined = null; } if($this->input->post('withdrawal')) { $withdrawal = date_to_default($this->input->post('withdrawal')); } else { $withdrawal = null; } + if($this->input->post('knowledge_proof')) { $knowledge_proof = date_to_default($this->input->post('knowledge_proof')); } else { $knowledge_proof = null; } + if($this->input->post('flight_manager') == 'on') { $flight_manager = 1; } else { $flight_manager = 0; } $data = array( 'firstname' => $this->input->post('firstname'), 'lastname' => $this->input->post('lastname'), @@ -99,10 +101,13 @@ class Members extends MY_Controller { 'insurance_number' => $this->input->post('insurance_number'), 'member_type_id' => $this->input->post('member_type_id'), 'club_function_id' => $this->input->post('club_function_id'), + 'knowledge_proof' => $knowledge_proof, + 'flight_manager' => $flight_manager, ); $data = $this->security->xss_clean($data); $result = $this->members_model->edit_user($data, $id); - if($result){ + if($result) { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'edited', 'members', $id); $this->session->set_flashdata('msg', 'Mitglied erfolgreich bearbeitet!'); redirect(base_url('admin/members/view/'.$result)); } @@ -115,6 +120,7 @@ class Members extends MY_Controller { $data['member_data']['birthday'] = date_to_german($data['member_data']['birthday']); $data['member_data']['joined'] = date_to_german($data['member_data']['joined']); if($data['member_data']['withdrawal'] != '0000-00-00') { $data['member_data']['withdrawal'] = date_to_german($data['member_data']['withdrawal']); } + if($data['member_data']['knowledge_proof'] != '0000-00-00') { $data['member_data']['knowledge_proof'] = date_to_german($data['member_data']['knowledge_proof']); } else { $data['member_data']['withdrawal'] = null; } $data['title'] = 'Edit User'; $data['view'] = 'admin/members/member_edit'; @@ -128,8 +134,8 @@ class Members extends MY_Controller { 'value' => $this->input->post('contactvalue'), 'member_id' => $id, ); - //$data = $this->security->xss_clean($data); $result = $this->members_model->contact_insert($data); + $this->logging_model->history_write($this->session->userdata('admin_id'), 'added contact', 'members', $id); redirect(base_url('admin/members/view/'.$id.'/edit')); } @@ -137,6 +143,7 @@ class Members extends MY_Controller { $data = array( 'id' => $this->input->post('contactid'), ); + $this->logging_model->history_write($this->session->userdata('admin_id'), 'deleted contact', 'members', $user_id); $result = $this->members_model->contact_delete($data); redirect(base_url('admin/members/view/'.$user_id.'/edit')); @@ -147,6 +154,7 @@ class Members extends MY_Controller { 'type_id' => $this->input->post('contact_type_id'), 'value' => $this->input->post('contactvalue'), ); + $this->logging_model->history_write($this->session->userdata('admin_id'), 'edited contact', 'members', $user_id); $result = $this->members_model->contact_edit($this->input->post('contactid'), $data); redirect(base_url('admin/members/view/'.$user_id.'/edit')); @@ -154,7 +162,8 @@ class Members extends MY_Controller { //--------------------------------------------------------------- // Delete members - public function del($id = 0){ + public function del($id = 0) { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'deleted contact', 'members', $id); $this->db->delete('members', array('id' => $id)); $this->session->set_flashdata('msg', 'User has been Deleted Successfully!'); redirect(base_url('admin/members')); @@ -171,7 +180,7 @@ class Members extends MY_Controller { //--------------------------------------------------------------- // Export data in CSV format public function export_csv() { - // file name + $this->logging_model->history_write($this->session->userdata('admin_id'), 'exported csv', 'members'); $filename = 'members_'.date('Y-m-d').'.csv'; header("Content-Description: File Transfer"); header("Content-Disposition: attachment; filename=$filename"); diff --git a/application/controllers/admin/Users.php b/application/controllers/admin/Users.php index 8b4233601dd45abba718dcea75d0731addcac451..fe416632d4cc9c44971211c8b6b9ec52dd3c438d 100644 --- a/application/controllers/admin/Users.php +++ b/application/controllers/admin/Users.php @@ -6,6 +6,7 @@ public function __construct(){ parent::__construct(); $this->load->model('admin/user_model', 'user_model'); + $this->load->model('admin/logging_model', 'logging_model'); } public function index(){ @@ -17,9 +18,8 @@ //--------------------------------------------------------------- // Add User - public function add(){ - if($this->input->post('submit')){ - + public function add() { + if($this->input->post('submit')) { $this->form_validation->set_rules('username', 'Username', 'trim|min_length[5]|required'); $this->form_validation->set_rules('firstname', 'Firstname', 'trim|required'); $this->form_validation->set_rules('lastname', 'Lastname', 'trim|required'); @@ -34,7 +34,7 @@ $data['view'] = 'admin/users/user_add'; $this->load->view('admin/layout', $data); } - else{ + else { $data = array( 'username' => $this->input->post('username'), 'firstname' => $this->input->post('firstname'), @@ -48,13 +48,14 @@ ); $data = $this->security->xss_clean($data); $result = $this->user_model->add_user($data); - if($result){ + if($result) { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'added', 'users', $result); $this->session->set_flashdata('msg', 'User has been Added Successfully!'); redirect(base_url('admin/users')); } } } - else{ + else { $data['user_groups'] = $this->user_model->get_user_groups(); $data['title'] = 'Add User'; $data['view'] = 'admin/users/user_add'; @@ -65,7 +66,7 @@ //--------------------------------------------------------------- // Edit User - public function edit($id = 0){ + public function edit($id = 0) { if($this->input->post('submit')){ $this->form_validation->set_rules('username', 'Username', 'trim|required'); $this->form_validation->set_rules('firstname', 'Username', 'trim|required'); @@ -94,6 +95,7 @@ 'is_active' => $this->input->post('status'), 'updated_at' => date('Y-m-d : h:m:s'), ); + $this->logging_model->history_write($this->session->userdata('admin_id'), 'edited', 'users', $id); $data = $this->security->xss_clean($data); $result = $this->user_model->edit_user($data, $id); if($result){ @@ -113,7 +115,8 @@ //--------------------------------------------------------------- // Delete Users - public function del($id = 0){ + public function del($id = 0) { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'deleted', 'users', $id); $this->db->delete('ci_users', array('id' => $id)); $this->session->set_flashdata('msg', 'User has been Deleted Successfully!'); redirect(base_url('admin/users')); @@ -129,7 +132,8 @@ //--------------------------------------------------------------- // Export data in CSV format - public function export_csv(){ + public function export_csv() { + $this->logging_model->history_write($this->session->userdata('admin_id'), 'exported csv', 'users'); // file name $filename = 'users_'.date('Y-m-d').'.csv'; header("Content-Description: File Transfer"); diff --git a/application/helpers/data_helper.php b/application/helpers/data_helper.php index 440a2dc81686ce0497741c768117b19b7b30c175..e31073723c2009d2f0f2a180e4d69a83766f7879 100644 --- a/application/helpers/data_helper.php +++ b/application/helpers/data_helper.php @@ -13,4 +13,4 @@ $temp_date = date_parse_from_format("d.m.Y", $date); return date_format(date_create($temp_date['year'].'-'.$temp_date['month'].'-'.$temp_date['day']), 'Y-m-d'); } -?> \ No newline at end of file +?> \ No newline at end of file diff --git a/application/models/admin/Guests_model.php b/application/models/admin/Guests_model.php index 9f118434df84f9189eae891faa77f13425965979..6b5ad1baa373bd878b488ed42337ef35749ee5a5 100644 --- a/application/models/admin/Guests_model.php +++ b/application/models/admin/Guests_model.php @@ -5,5 +5,9 @@ $query = $this->db->get('guests'); return $result = $query->result_array(); } + public function guest_add($data){ + $this->db->insert('guests', $data); + return true; + } } ?> \ No newline at end of file diff --git a/application/models/admin/Keys_model.php b/application/models/admin/Keys_model.php index 66b034498867bda4e09a354669ed1953a4e1d4a6..4d875b8e8d54319ba61163b92ec92317df17f636 100644 --- a/application/models/admin/Keys_model.php +++ b/application/models/admin/Keys_model.php @@ -14,11 +14,11 @@ 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 edit_key($data) { + $this->db->where('key_number', $data['key_number']); + $this->db->update('club_keys', $data); + return true; + } public function get_keys_by_userid($id) { $this->db->select('key_number'); diff --git a/application/models/admin/Members_model.php b/application/models/admin/Members_model.php index 131b65048b645481f9040ab6bb27264ffdd0fb7e..53dbbc58ac2cfb892efd5dc3e9573a514a62a391 100644 --- a/application/models/admin/Members_model.php +++ b/application/models/admin/Members_model.php @@ -11,6 +11,7 @@ $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'); + $this->db->order_by('members.lastname, members.firstname', 'ASC'); $query = $this->db->get(); return $result = $query->result_array(); } @@ -67,12 +68,12 @@ } public function contact_delete($data) { $this->db->delete('contact', $data); - return true; + return $data['member_id']; } public function contact_edit($contact_id, $data) { $this->db->where('id', $contact_id); $this->db->update('contact', $data); - return true; + return $data['member_id']; } } ?> \ No newline at end of file diff --git a/application/views/admin/guests/guests_list.php b/application/views/admin/guests/guests_list.php index 1d0934b3c5b9733319d4f9f50a05339e4e0ce90c..6bb82e24e5fe11c61396cca960e3e00b16233a62 100644 --- a/application/views/admin/guests/guests_list.php +++ b/application/views/admin/guests/guests_list.php @@ -17,8 +17,10 @@ <tr> <th>Vorname</th> <th>Nachname</th> + <th>Straße</th> <th>PLZ</th> <th>Ort</th> + <th>Geburtstag</th> <th>Email</th> <th>Verein</th> </tr> @@ -28,8 +30,10 @@ <tr> <td><?= $row['firstname']; ?></td> <td><?= $row['lastname']; ?></td> + <td><?= $row['street']; ?></td> <td><?= $row['zip']; ?></td> <td><?= $row['town']; ?></td> + <td><?= date_to_german($row['birthday']); ?></td> <td><?= $row['email']; ?></td> <td><?= $row['club']; ?></td> </tr> @@ -40,38 +44,18 @@ </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 src="<?= base_url() ?>public/plugins/datatables/jquery.dataTables.min.js"></script> +<script src="<?= base_url() ?>public/plugins/datatables/dataTables.bootstrap.min.js"></script> +<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script> +<script src="//cdn.datatables.net/plug-ins/1.10.16/sorting/datetime-moment.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" - } + $.fn.dataTable.moment( 'DD.MM.YYYY' ); + $("#example1").DataTable({ + "language": { + "url": "//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/German.json" } }); - example1.buttons().container().appendTo($('.col-sm-6:eq(0)', example1.table().container())); }); -</script> \ No newline at end of file +</script> diff --git a/application/views/admin/include/sidebar.php b/application/views/admin/include/sidebar.php index 7aca275b178e3c6eecfd23159f1be982444ee598..2883cbc43810ac9f8aafaaef3818ef90bf3c7d59 100644 --- a/application/views/admin/include/sidebar.php +++ b/application/views/admin/include/sidebar.php @@ -50,6 +50,7 @@ $cur_tab = $this->uri->segment(2)==''?'dashboard': $this->uri->segment(2); </span> </a> <ul class="treeview-menu"> + <li id="view_keys" class=""><a href="<?= base_url('admin/guests/add'); ?>"><i class="fa fa-circle-o"></i> Gast hinzufügen</a></li> <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> diff --git a/application/views/admin/keys/keys_list.php b/application/views/admin/keys/keys_list.php index 3e9ccb7bfeab75cfea379e31c142f2c1689757d5..413beb9de36413fd080ece3738b8aafb5d323a01 100644 --- a/application/views/admin/keys/keys_list.php +++ b/application/views/admin/keys/keys_list.php @@ -28,8 +28,8 @@ <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> + <button type="button" class="btn btn-danger btn-sm key_edit" data-toggle="modal" data-target="#key_edit" data-memberid="<?= $row['member_id']?>" data-keyid="<?= $row['key_number']?>"><i class="fa fa-edit"></i></button> + </td> </tr> <?php endforeach; ?> </tbody> @@ -38,28 +38,47 @@ </div> </section> -<div id="confirm-delete" class="modal fade" role="dialog"> - <div class="modal-dialog"> - <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 class="modal fade key_edit" id="key_edit" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> + <div class="modal-dialog"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Abbruch</span></button> + <h4 class="modal-title" id="myModalLabel">Schlüssel zuweisen</h4> + </div> + <div class="modal-body"> + <?php echo form_open(base_url('admin/keys/edit'), '' )?> + <div class="form-group"> + <label for="member_id"><b>Mitglied auswählen</b></label> + <select name="member_id" class="form-control"> + <option>Mitglied auswählen</option> + <?php foreach($members as $member): ?> + <option value="<?= $member['id']; ?>"><?= $member['lastname'].', '.$member['firstname']; ?></option> + <?php endforeach; ?> + </select> + <input type="hidden" class="keyid" name="keyid" id="keyid" /> + </div> + <div class="form-group"> + <label for="key_distribution"><b>Ausgabe Datum</b></label> + <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" id="key_distribution" name="key_distribution" data-date-format="dd.mm.yyyy"> + </div> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">Abbruch</button> + <button type="submit" class="btn btn-success">Speichern</button> + </div> + <?php echo form_close( ); ?> + </div> + </div> </div> - </div> </div> <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 src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script> <script src="//cdn.datatables.net/plug-ins/1.10.16/sorting/datetime-moment.js"></script> +<script src="<?= base_url() ?>public/plugins/datepicker/bootstrap-datepicker.js"></script> <script> $(function () { @@ -70,12 +89,15 @@ } }); }); -</script> - <script type="text/javascript"> - $('#confirm-delete').on('show.bs.modal', function(e) { - $(this).find('.btn-ok').attr('href', $(e.relatedTarget).data('href')); + + $('#key_edit').on('show.bs.modal', function (event) { + var button = $(event.relatedTarget); + var keyid = button.data('keyid'); + var memberid = button.data('memberid'); + + var modal = $(this); + //modal.find('.key_distribution').datepicker(); + modal.find('.modal-body select').val(memberid); + modal.find('.modal-body #keyid').val(keyid); }); - </script> -<script> - $("#view_users").addClass('active'); </script> \ No newline at end of file diff --git a/application/views/admin/members/member_add.php b/application/views/admin/members/member_add.php index afe2eb1530c9e30c84a004808aeefe75371a36af..df1cb64a856274c26ed2ba3d2fa02ed424d4b720 100644 --- a/application/views/admin/members/member_add.php +++ b/application/views/admin/members/member_add.php @@ -1,8 +1,5 @@ -<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> +<link rel="stylesheet" href="<?= base_url() ?>public/plugins/iCheck/square/_all.css"> <section class="content"> <div class="row"> @@ -89,7 +86,7 @@ <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="" maxlength="15"> + <input type="text" name="insurance_number" class="form-control" id="insurance_number" placeholder="" maxlength="50"> </div> </div> <div class="form-group"> @@ -112,6 +109,21 @@ </select> </div> </div> + <div class="form-group"> + <label for="knowledge_proof" class="col-sm-2 control-label">Kenntnis Nachweis</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="knowledge_proof" data-provide="datepicker" data-date-format="dd.mm.yyyy"> + </div> + </div> + </div> + <div class="form-group"> + <label for="flight_manager" class="col-sm-2 control-label">Flugleiter Schulung</label> + <div class="col-sm-9"> + <input type="checkbox" class="icheckbox_square-green" id="flight_manager" name="flight_manager"> + </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"> @@ -122,4 +134,10 @@ </div> </div> </div> -</section> \ No newline at end of file +</section> + +<script src="<?= base_url() ?>public/plugins/datepicker/bootstrap-datepicker.js"></script> +<script src="<?= base_url() ?>public/plugins/iCheck/icheck.js"></script> +<script> + $('#datepicker').datepicker({}) +</script> \ No newline at end of file diff --git a/application/views/admin/members/member_edit.php b/application/views/admin/members/member_edit.php index b257e516b036fa0f033ac96d2e048eec41a42e33..b28c5a42f0150b2262d0311e12e80d6df0364c41 100644 --- a/application/views/admin/members/member_edit.php +++ b/application/views/admin/members/member_edit.php @@ -1,8 +1,5 @@ -<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> +<link rel="stylesheet" href="<?= base_url() ?>public/plugins/iCheck/square/_all.css"> <section class="content"> <div class="row"> @@ -27,14 +24,12 @@ <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'];?>" 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"> @@ -93,7 +88,7 @@ <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'];?>" maxlength="15"> + <input type="text" name="insurance_number" class="form-control" id="insurance_number" placeholder="" value="<?= $member_data['insurance_number'];?>" maxlength="50"> </div> </div> <div class="form-group"> @@ -116,6 +111,21 @@ </select> </div> </div> + <div class="form-group"> + <label for="knowledge_proof" class="col-sm-2 control-label">Kenntnis Nachweis</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="knowledge_proof" data-provide="datepicker" data-date-format="dd.mm.yyyy" value="<?= $member_data['knowledge_proof'];?>"> + </div> + </div> + </div> + <div class="form-group"> + <label for="flight_manager" class="col-sm-2 control-label">Flugleiter Schulung</label> + <div class="col-sm-9"> + <input type="checkbox" class="icheckbox_square-green" id="flight_manager" name="flight_manager" <?php if($member_data['flight_manager']) { echo " checked"; } ?>> + </div> + </div> <div class="form-group"> <div class="col-md-11"> <input type="submit" name="submit" value="Speichern" class="btn btn-info pull-right"> @@ -127,4 +137,10 @@ </div> </div> </div> -</section> \ No newline at end of file +</section> + +<script src="<?= base_url() ?>public/plugins/datepicker/bootstrap-datepicker.js"></script> +<script src="<?= base_url() ?>public/plugins/iCheck/icheck.js"></script> +<script> + $('#datepicker').datepicker({}) +</script> diff --git a/application/views/admin/members/member_list.php b/application/views/admin/members/member_list.php index f11707bd0668a22565e14bb12f5fbc686c0edc24..f9b1c4f657e0502898bdaa6b7b59e36ca13c3a84 100644 --- a/application/views/admin/members/member_list.php +++ b/application/views/admin/members/member_list.php @@ -31,23 +31,27 @@ <th>Austritt</th> <th>Mitglied</th> <th>Mitgliedschaft</th> - <th style="width: 100px;" class="text-right">Optionen</th> + <th>Kenntnis</th> + <th>Flugleiter</th> + <th style="width: 100px;" class="text-right">Optionen</th> </tr> </thead> <tbody> <?php foreach($all_users as $row): ?> <tr> - <td><?= $row['firstname']; ?></td> - <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['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> - </td> + <td><?= $row['firstname']; ?></td> + <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['is_member']; ?></td> + <td><?= $row['member_type_name']; ?></td> + <td><?= $row['knowledge_proof']; ?></td> + <td><?php if($row['flight_manager']) { echo "Ja"; } ?></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> + </td> </tr> <?php endforeach; ?> </tbody> @@ -79,7 +83,6 @@ </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 src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.4/moment.min.js"></script> diff --git a/application/views/admin/members/member_view.php b/application/views/admin/members/member_view.php index c9459593dea2dd05926e9be28c58aaf709064040..ad6dd23aa448e643320d9de00a5187b827cd4dbe 100644 --- a/application/views/admin/members/member_view.php +++ b/application/views/admin/members/member_view.php @@ -62,10 +62,24 @@ <div class="col-sm-8"><?= $user['insurance_type_name']; ?></div> </div> - <div class="form-group"> - <div class="col-sm-4">Versicherungsnummer</div> - <div class="col-sm-8"><?= $user['insurance_number']; ?></div> - </div> + <div class="form-group"> + <div class="col-sm-4">Versicherungsnummer</div> + <div class="col-sm-8"><?= $user['insurance_number']; ?></div> + </div> + <?php } ?> + + <?php if($user['knowledge_proof']) { ?> + <div class="form-group"> + <div class="col-sm-4">Kenntnisnachweis</div> + <div class="col-sm-8"><?= date_to_german($user['knowledge_proof']); ?></div> + </div> + <?php } ?> + + <?php if($user['flight_manager']) { ?> + <div class="form-group"> + <div class="col-sm-4">Flugleiter Schulung</div> + <div class="col-sm-8">Ja</div> + </div> <?php } ?> </div> <div class="box-body my-form-body"> @@ -202,8 +216,8 @@ 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'); + //$('.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');