diff --git a/application/controllers/admin/Members.php b/application/controllers/admin/Members.php index e0188fcd15c9201145f0e7d6ffdb94827359353d..8231c024c5d029f9c8e4c7c2680f30d9f7d725fd 100644 --- a/application/controllers/admin/Members.php +++ b/application/controllers/admin/Members.php @@ -1,164 +1,176 @@ <?php - defined('BASEPATH') OR exit('No direct script access allowed'); - - class Members extends MY_Controller { - - public function __construct(){ - parent::__construct(); - $this->load->model('admin/members_model', 'members_model'); - } - - public function index() { - $data['all_users'] = $this->members_model->get_all_users(); - $data['title'] = 'User List'; - $data['view'] = 'admin/members/member_list'; - $this->load->view('admin/layout', $data); - } - - public function view($id) { - $data['user'] = $this->members_model->get_user_by_id($id); - $data['contact'] = $this->members_model->get_user_contacts_by_userid($id); - $data['title'] = 'View member'; - $data['view'] = 'admin/members/member_view'; - $this->load->view('admin/layout', $data); - } - - //--------------------------------------------------------------- - // Add User - 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'); - $this->form_validation->set_rules('email', 'Email', 'trim|valid_email|is_unique[ci_users.email]|required'); - $this->form_validation->set_rules('mobile_no', 'Number', 'trim|required'); - $this->form_validation->set_rules('password', 'Password', 'trim|required'); - $this->form_validation->set_rules('group', 'Group', 'trim|required'); - - if ($this->form_validation->run() == FALSE) { - $data['title'] = 'Add User'; - $data['user_groups'] = $this->members_model->get_user_groups(); - $data['view'] = 'admin/members/user_add'; - $this->load->view('admin/layout', $data); - } - else{ - $data = array( - 'username' => $this->input->post('username'), - 'firstname' => $this->input->post('firstname'), - 'lastname' => $this->input->post('lastname'), - 'email' => $this->input->post('email'), - 'mobile_no' => $this->input->post('mobile_no'), - 'password' => password_hash($this->input->post('password'), PASSWORD_BCRYPT), - 'role' => $this->input->post('group'), - 'created_at' => date('Y-m-d : h:m:s'), - 'updated_at' => date('Y-m-d : h:m:s'), - ); - $data = $this->security->xss_clean($data); - $result = $this->members_model->add_user($data); - if($result){ - $this->session->set_flashdata('msg', 'User has been Added Successfully!'); - redirect(base_url('admin/members')); - } - } - } - else{ - $data['user_groups'] = $this->members_model->get_user_groups(); - $data['title'] = 'Add User'; - $data['view'] = 'admin/members/member_add'; - $this->load->view('admin/layout', $data); - } - - } - - //--------------------------------------------------------------- - // Edit User - 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'); - $this->form_validation->set_rules('lastname', 'Lastname', 'trim|required'); - $this->form_validation->set_rules('email', 'Email', 'trim|required'); - $this->form_validation->set_rules('mobile_no', 'Number', 'trim|required'); - $this->form_validation->set_rules('status', 'Status', 'trim|required'); - $this->form_validation->set_rules('group', 'Group', 'trim|required'); - - if ($this->form_validation->run() == FALSE) { - $data['user'] = $this->members_model->get_user_by_id($id); - $data['user_groups'] = $this->members_model->get_user_groups(); - $data['title'] = 'Edit User'; - $data['view'] = 'admin/members/user_edit'; - $this->load->view('admin/layout', $data); - } - else{ - $data = array( - 'username' => $this->input->post('username'), - 'firstname' => $this->input->post('firstname'), - 'lastname' => $this->input->post('lastname'), - 'email' => $this->input->post('email'), - 'mobile_no' => $this->input->post('mobile_no'), - 'password' => password_hash($this->input->post('password'), PASSWORD_BCRYPT), - 'role' => $this->input->post('group'), - 'is_active' => $this->input->post('status'), - 'updated_at' => date('Y-m-d : h:m:s'), - ); - $data = $this->security->xss_clean($data); - $result = $this->members_model->edit_user($data, $id); - if($result){ - $this->session->set_flashdata('msg', 'User has been Updated Successfully!'); - redirect(base_url('admin/members')); - } - } - } - else{ - $data['user'] = $this->members_model->get_user_by_id($id); - $data['user_groups'] = $this->members_model->get_user_groups(); - $data['title'] = 'Edit User'; - $data['view'] = 'admin/members/user_edit'; - $this->load->view('admin/layout', $data); - } - } - - //--------------------------------------------------------------- - // Delete members - public function del($id = 0){ - $this->db->delete('members', array('id' => $id)); - $this->session->set_flashdata('msg', 'User has been Deleted Successfully!'); - redirect(base_url('admin/members')); - } - - //--------------------------------------------------------------- - // Export Users PDF - public function create_users_pdf(){ - $this->load->helper('pdf_helper'); // loaded pdf helper - $data['all_users'] = $this->members_model->get_all_users(); - $this->load->view('admin/members/users_pdf', $data); - } - - //--------------------------------------------------------------- - // Export data in CSV format - public function export_csv(){ - // file name - $filename = 'members_'.date('Y-m-d').'.csv'; - header("Content-Description: File Transfer"); - header("Content-Disposition: attachment; filename=$filename"); - header("Content-Type: application/csv; "); - - // get data - $user_data = $this->members_model->get_all_users_for_csv(); - - // file creation - $file = fopen('php://output', 'w'); - - $header = array("ID", "Username", "First Name", "Last Name", "Email", "Mobile_no", "Created Date"); - fputcsv($file, $header); - foreach ($user_data as $key=>$line){ - fputcsv($file,$line); - } - fclose($file); - exit; - } - } +defined('BASEPATH') OR exit('No direct script access allowed'); +class Members extends MY_Controller { + public function __construct(){ + parent::__construct(); + $this->load->model('admin/members_model', 'members_model'); + } + + public function index() { + $all_users = $this->members_model->get_all_users(); + foreach ($all_users as $user) { + $data['all_users'][$user['id']] = $user; + 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'] = ''; } + } + $data['title'] = 'User List'; + $data['view'] = 'admin/members/member_list'; + $this->load->view('admin/layout', $data); + } + + public function view($id) { + $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['title'] = 'View member'; + $data['view'] = 'admin/members/member_view'; + $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; } + $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, + 'joined' => $joined, + 'withdrawal' => $withdrawal, + 'insurance_type_id' => $this->input->post('insurance_type_id'), + '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'), + ); + $data = $this->security->xss_clean($data); + $result = $this->members_model->add_member($data); + if($result){ + $this->session->set_flashdata('msg', 'Mitglied erfolgreich hinzugefügt!'); + redirect(base_url('admin/members/view/'.$result)); + } + } + 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(); + $data['title'] = 'Add User'; + $data['view'] = 'admin/members/member_add'; + $this->load->view('admin/layout', $data); + } + + } + + //--------------------------------------------------------------- + // Edit User + 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; } + $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, + 'joined' => $joined, + 'withdrawal' => $withdrawal, + 'insurance_type_id' => $this->input->post('insurance_type_id'), + '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'), + ); + $data = $this->security->xss_clean($data); + $result = $this->members_model->edit_user($data, $id); + if($result){ + $this->session->set_flashdata('msg', 'Mitglied erfolgreich bearbeitet!'); + redirect(base_url('admin/members')); + } + } + 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(); + $data['member_data'] = $this->members_model->get_user_by_id($id); + $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']); } + else { $data['member_data']['withdrawal'] = null; } + $data['title'] = 'Edit User'; + $data['view'] = 'admin/members/member_edit'; + $this->load->view('admin/layout', $data); + } + } + + public function contact_add($id) { + $data = array( + 'type_id' => $this->input->post('contact_type_id'), + 'value' => $this->input->post('contactvalue'), + 'member_id' => $id, + ); + $data = $this->security->xss_clean($data); + $result = $this->members_model->contact_insert($data); + redirect(base_url('admin/members/view/'.$id)); + } + + public function contact_delete($user_id) { + if($this->input->post('submit')) { + die(print_r($this->input->post('contactid'))); + $result = $this->members_model->contact_delete($this->input->post('contactid')); + $this->session->set_flashdata('msg', 'Kontakt gelöscht!'); + } + + redirect(base_url('admin/members/view/'.$user_id)); + } + + //--------------------------------------------------------------- + // Delete members + public function del($id = 0){ + $this->db->delete('members', array('id' => $id)); + $this->session->set_flashdata('msg', 'User has been Deleted Successfully!'); + redirect(base_url('admin/members')); + } + + //--------------------------------------------------------------- + // Export Users PDF + public function create_users_pdf(){ + $this->load->helper('pdf_helper'); // loaded pdf helper + $data['all_users'] = $this->members_model->get_all_users(); + $this->load->view('admin/members/users_pdf', $data); + } + + //--------------------------------------------------------------- + // Export data in CSV format + public function export_csv() { + // file name + $filename = 'members_'.date('Y-m-d').'.csv'; + header("Content-Description: File Transfer"); + header("Content-Disposition: attachment; filename=$filename"); + header("Content-Type: application/csv; "); + + // get data + $user_data = $this->members_model->get_all_users_for_csv(); + + // file creation + $file = fopen('php://output', 'w'); + + $header = array("ID", "Username", "First Name", "Last Name", "Email", "Mobile_no", "Created Date"); + fputcsv($file, $header); + foreach ($user_data as $key=>$line) { + fputcsv($file,$line); + } + fclose($file); + exit; + } +} ?> \ No newline at end of file diff --git a/application/helpers/data_helper.php b/application/helpers/data_helper.php index 9c97f49569e1228be62d6a3fbb223ccba97cbd9f..d15a389b16cb82eeb95b1225649996dbdf2665e1 100644 --- a/application/helpers/data_helper.php +++ b/application/helpers/data_helper.php @@ -2,9 +2,14 @@ // ----------------------------------------------------------------------------- function getGroupyName($id){ - $CI = & get_instance(); 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'); + } + function date_to_default($date) { + $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 diff --git a/application/models/admin/Members_model.php b/application/models/admin/Members_model.php index 7ff393082eb25e3f9a4fdd9dfac35934e9a9b73d..ce80928d82c5f4ed38bfc2804a1ce24af971d481 100644 --- a/application/models/admin/Members_model.php +++ b/application/models/admin/Members_model.php @@ -1,12 +1,19 @@ <?php class Members_model extends CI_Model{ - public function add_user($data){ + public function add_member($data){ $this->db->insert('members', $data); - return true; + $query = $this->db->query("SELECT * FROM members ORDER BY id DESC LIMIT 1"); + $result = $query->row_array(); + return $result['id']; } public function get_all_users(){ //$this->db->where('is_admin', 0); - $query = $this->db->get('members'); + //$query = $this->db->get('members'); + $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'); + $this->db->join('insurance_types', 'insurance_types.id=members.insurance_type_id'); + $query = $this->db->get(); return $result = $query->result_array(); } public function get_all_users_for_csv(){ @@ -17,16 +24,18 @@ return $result = $query->result_array(); } public function get_user_by_id($id){ - //$this->db->select('members.*, club_functions.*'); + $this->db->select('members.*, club_functions.club_function_name, member_types.member_type_name, member_types.is_member, insurance_types.insurance_type_name'); $this->db->where('members.id', $id); $this->db->from('members'); - $this->db->join('club_functions', 'club_functions.id=members.club_function_id'); + $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(); } public function get_user_contacts_by_userid($id) { - $this->db->select('contact_types.name, contact.*'); + $this->db->select('contact_types.contact_type_name, contact.*'); $this->db->where('member_id', $id); $this->db->from('contact'); $this->db->join('contact_types', 'contact_types.id=contact.type_id'); @@ -34,14 +43,34 @@ $query = $this->db->get(); return $result = $query->result_array(); } - public function edit_user($data, $id){ + public function edit_user($data, $id) { $this->db->where('id', $id); $this->db->update('members', $data); return true; } - public function get_user_groups(){ - $query = $this->db->get('ci_user_groups'); - return $result = $query->result_array(); - } + public function get_club_functions() { + $query = $this->db->get('club_functions'); + return $result = $query->result_array(); + } + public function get_member_types() { + $query = $this->db->get('member_types'); + return $result = $query->result_array(); + } + public function get_insurance_types() { + $query = $this->db->get('insurance_types'); + return $result = $query->result_array(); + } + public function get_contact_types() { + $query = $this->db->get('contact_types'); + return $result = $query->result_array(); + } + public function contact_insert($data) { + $this->db->insert('contact', $data); + return true; + } + public function contact_delete($id) { + $this->db->delete('contact', array('id' => $id)); + return true; + } } ?> \ No newline at end of file diff --git a/application/views/admin/include/sidebar.php b/application/views/admin/include/sidebar.php index facb60df443c1b700e495585675066123e9f403b..a713a9d395d4d7fdbf1fe69d0349a3b1d41c34b9 100644 --- a/application/views/admin/include/sidebar.php +++ b/application/views/admin/include/sidebar.php @@ -21,27 +21,27 @@ $cur_tab = $this->uri->segment(2)==''?'dashboard': $this->uri->segment(2); <ul class="sidebar-menu"> <li id="users" class="treeview"> <a href="#"> - <i class="fa fa-dashboard"></i> <span>Users</span> + <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> Add User</a></li> - <li id="view_users" class=""><a href="<?= base_url('admin/users'); ?>"><i class="fa fa-circle-o"></i> View Users</a></li> - <li id="user_group" class=""><a href="<?= base_url('admin/group'); ?>"><i class="fa fa-circle-o"></i> User Groups</a></li> + <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-dashboard"></i> <span>Members</span> + <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> Add members</a></li> - <li id="view_users" class=""><a href="<?= base_url('admin/members'); ?>"><i class="fa fa-circle-o"></i> View members</a></li> + <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> </section> diff --git a/application/views/admin/members/member_add.php b/application/views/admin/members/member_add.php index 917345c6afbd2e9fe60e2683a718979a57cc1c90..3d8c3139dc0956d6aacabcd93e66a7e16857f42a 100644 --- a/application/views/admin/members/member_add.php +++ b/application/views/admin/members/member_add.php @@ -1,12 +1,15 @@ +<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> Add New User</h4> - </div> - <div class="col-md-6 text-right"> - <a href="<?= base_url('admin/users'); ?>" class="btn btn-success"><i class="fa fa-list"></i> Users List</a> + <h4><i class="fa fa-plus"></i> Mitglied hinzufügen</h4> </div> </div> </div> @@ -17,33 +20,17 @@ <!-- /.box-header --> <!-- form start --> <div class="box-body my-form-body"> - <?php if(isset($msg) || validation_errors() !== ''): ?> - <div class="alert alert-warning alert-dismissible"> - <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> - <h4><i class="icon fa fa-warning"></i> Alert!</h4> - <?= validation_errors();?> - <?= isset($msg)? $msg: ''; ?> - </div> - <?php endif; ?> - - <?php echo form_open(base_url('admin/users/add'), 'class="form-horizontal"'); ?> - <div class="form-group"> - <label for="username" class="col-sm-2 control-label">User Name</label> - - <div class="col-sm-9"> - <input type="text" name="username" class="form-control" id="username" placeholder=""> - </div> - </div> + <?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">First Name</label> + <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">Last Name</label> + <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=""> @@ -51,41 +38,99 @@ </div> <div class="form-group"> - <label for="email" class="col-sm-2 control-label">Email</label> + <label for="street" class="col-sm-2 control-label">Straße</label> <div class="col-sm-9"> - <input type="email" name="email" class="form-control" id="email" placeholder=""> + <input type="text" name="street" class="form-control" id="street" placeholder=""> </div> </div> <div class="form-group"> - <label for="mobile_no" class="col-sm-2 control-label">Mobile No</label> + <label for="zip" class="col-sm-2 control-label">Postleitzahl</label> <div class="col-sm-9"> - <input type="number" name="mobile_no" class="form-control" id="mobile_no" placeholder=""> + <input type="text" name="zip" class="form-control" id="zip" placeholder=""> </div> </div> - <div class="form-group"> - <label for="password" class="col-sm-2 control-label">Password</label> + <div class="form-group"> + <label for="town" class="col-sm-2 control-label">Ort</label> <div class="col-sm-9"> - <input type="password" name="password" class="form-control" id="password" placeholder=""> + <input type="text" name="town" class="form-control" id="town" placeholder=""> </div> - </div> - <div class="form-group"> - <label for="role" class="col-sm-2 control-label">Select Group</label> + </div> + <div class="form-group"> + <label for="birthday" class="col-sm-2 control-label">Geburtstag</label> <div class="col-sm-9"> - <select name="group" class="form-control"> - <option value="">Select Group</option> - <?php foreach($user_groups as $group): ?> - <option value="<?= $group['id']; ?>"><?= $group['group_name']; ?></option> - <?php endforeach; ?> - </select> + <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> <div class="form-group"> <div class="col-md-11"> - <input type="submit" name="submit" value="Add User" class="btn btn-info pull-right"> + <input type="submit" name="submit" value="Mitglied hinzufügen" class="btn btn-info pull-right"> </div> </div> <?php echo form_close( ); ?> @@ -93,6 +138,5 @@ <!-- /.box-body --> </div> </div> - </div> - -</section> \ No newline at end of file + </div> +</section> \ 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 110824f5e8a8284090d0e5cc145b0fc46be8c678..843b5a81fbf1858c8a20af313e8874b810cfcbf8 100644 --- a/application/views/admin/members/member_edit.php +++ b/application/views/admin/members/member_edit.php @@ -1,108 +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"> - <div class="col-md-6"> - <h4><i class="fa fa-pencil"></i> Edit User</h4> - </div> - <div class="col-md-6 text-right"> - <a href="<?= base_url('admin/users'); ?>" class="btn btn-success"><i class="fa fa-list"></i> Users List</a> - <a href="<?= base_url('admin/users/add'); ?>" class="btn btn-success"><i class="fa fa-plus"></i> Add New Invoice</a> + <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 bearbeiten</h4> + </div> + </div> </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 if(isset($msg) || validation_errors() !== ''): ?> - <div class="alert alert-warning alert-dismissible"> - <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button> - <h4><i class="icon fa fa-warning"></i> Alert!</h4> - <?= validation_errors();?> - <?= isset($msg)? $msg: ''; ?> - </div> - <?php endif; ?> - - <?php echo form_open(base_url('admin/users/edit/'.$user['id']), 'class="form-horizontal"' )?> - <div class="form-group"> - <label for="username" class="col-sm-2 control-label">User Name</label> + <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/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="username" value="<?= $user['username']; ?>" class="form-control" id="username" placeholder=""> - </div> - </div> - <div class="form-group"> - <label for="firstname" class="col-sm-2 control-label">First Name</label> + <div class="col-sm-9"> + <input type="text" name="firstname" class="form-control" id="firstname" placeholder="" value="<?= $member_data['firstname'];?>"> + </div> + </div> - <div class="col-sm-9"> - <input type="text" name="firstname" value="<?= $user['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="form-group"> - <label for="lastname" class="col-sm-2 control-label">Last Name</label> + <div class="col-sm-9"> + <input type="text" name="lastname" class="form-control" id="lastname" placeholder="" value="<?= $member_data['lastname'];?>"> + </div> + </div> - <div class="col-sm-9"> - <input type="text" name="lastname" value="<?= $user['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="form-group"> - <label for="email" class="col-sm-2 control-label">Email</label> + <div class="col-sm-9"> + <input type="text" name="street" class="form-control" id="street" placeholder="" value="<?= $member_data['street'];?>"> + </div> + </div> + <div class="form-group"> + <label for="zip" class="col-sm-2 control-label">Postleitzahl</label> - <div class="col-sm-9"> - <input type="email" name="email" value="<?= $user['email']; ?>" class="form-control" id="email" placeholder=""> - </div> - </div> - <div class="form-group"> - <label for="mobile_no" class="col-sm-2 control-label">Mobile No</label> + <div class="col-sm-9"> + <input type="text" name="zip" class="form-control" id="zip" placeholder="" value="<?= $member_data['zip'];?>"> + </div> + </div> + <div class="form-group"> + <label for="town" class="col-sm-2 control-label">Ort</label> - <div class="col-sm-9"> - <input type="number" name="mobile_no" value="<?= $user['mobile_no']; ?>" class="form-control" id="mobile_no" placeholder=""> - </div> - </div> - <div class="form-group"> - <label for="role" class="col-sm-2 control-label">Select Status</label> + <div class="col-sm-9"> + <input type="text" name="town" class="form-control" id="town" placeholder="" value="<?= $member_data['town'];?>"> + </div> + </div> + <div class="form-group"> + <label for="birthday" class="col-sm-2 control-label">Geburtstag</label> - <div class="col-sm-9"> - <select name="status" class="form-control"> - <option value="">Select Status</option> - <option value="1" <?= ($user['is_active'] == 1)?'selected': '' ?> >Active</option> - <option value="0" <?= ($user['is_active'] == 0)?'selected': '' ?>>Deactive</option> - </select> - </div> - </div> - <div class="form-group"> - <label for="role" class="col-sm-2 control-label">Select Group</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" value="<?= $member_data['birthday'];?>"> + </div> + </div> + </div> + <div class="form-group"> + <label for="joined" class="col-sm-2 control-label">Eintritt</label> - <div class="col-sm-9"> - <select name="group" class="form-control"> - <option value="">Select Group</option> - <?php foreach($user_groups as $group): ?> - <?php if($group['id'] == $user['role']): ?> - <option value="<?= $group['id']; ?>" selected><?= $group['group_name']; ?></option> - <?php else: ?> - <option value="<?= $group['id']; ?>"><?= $group['group_name']; ?></option> - <?php endif; ?> - <?php endforeach; ?> - </select> - </div> - </div> - <div class="form-group"> - <div class="col-md-11"> - <input type="submit" name="submit" value="Update User" class="btn btn-info pull-right"> + <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" value="<?= $member_data['joined'];?>"> + </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" value="<?= $member_data['withdrawal'];?>"> + </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']; ?>"<?php if($member_data['insurance_type_id'] == $insurance_type['id']) { echo " selected"; } ?>><?= $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="" value="<?= $member_data['insurance_number'];?>"> + </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']; ?>"<?php if($member_data['club_function_id'] == $function['id']) { echo " selected"; } ?>><?= $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']; ?>"<?php if($member_data['member_type_id'] == $member_type['id']) { echo " selected"; } ?>><?= $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="Speichern" class="btn btn-info pull-right"> + </div> + </div> + <?php echo form_close( ); ?> </div> - </div> - <?php echo form_close(); ?> - </div> - <!-- /.box-body --> - </div> + <!-- /.box-body --> + </div> + </div> </div> - </div> - -</section> \ No newline at end of file +</section> \ No newline at end of file diff --git a/application/views/admin/members/member_list.php b/application/views/admin/members/member_list.php index ec621bd3e98cec08da34f9cc911efe9b65e6c931..e008d1cc8fd156e402228b5640302627492ea825 100644 --- a/application/views/admin/members/member_list.php +++ b/application/views/admin/members/member_list.php @@ -1,20 +1,20 @@ - <!-- Datatable style --> -<link rel="stylesheet" href="<?= base_url() ?>public/plugins/datatables/dataTables.bootstrap.css"> +<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-list"></i> Member List</h4> + <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> @@ -29,6 +29,7 @@ <th>Geburtstag</th> <th>Eintritt</th> <th>Austritt</th> + <th>Mitgliedschaft</th> <th style="width: 100px;" class="text-right">Optionen</th> </tr> </thead> @@ -39,10 +40,11 @@ <td><?= $row['lastname']; ?></td> <td><?= $row['birthday']; ?></td> <td><?= $row['joined']; ?></td> - <td><?= $row['withdrawal']; ?></td> + <td><?php if($row['withdrawal'] != '00.00.0000') { echo $row['withdrawal']; } ?></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">View</a> - <a href="<?= base_url('admin/members/edit/'.$row['id']); ?>" class="btn btn-danger btn-flat btn-xs">Edit</a> + <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; ?> diff --git a/application/views/admin/members/member_view.php b/application/views/admin/members/member_view.php index 25698d7b87dc7084e0c840c6f87089fcd6e26262..afb43d55a68e58030a850445abe51897ac8d1848 100644 --- a/application/views/admin/members/member_view.php +++ b/application/views/admin/members/member_view.php @@ -3,8 +3,13 @@ <div class="col-md-12"> <div class="box box-body"> <div class="col-md-6"> - <h4><i class="fa fa-pencil"></i> View member</h4> + <h4><i class="fa fa-pencil"></i> Mitglieds Details</h4> </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> + </div> + </div> </div> </div> </div> @@ -14,55 +19,130 @@ <div class="box-body my-form-body"> <h3>Stammdaten</h3> <div class="form-group"> - <div class="col-sm-2">Funktion</div> - <div class="col-sm-10"><?= $user['name']; ?></div> + <div class="col-sm-4">Funktion</div> + <div class="col-sm-8"><?= $user['club_function_name']; ?></div> + </div> + + <div class="form-group"> + <div class="col-sm-4">Mitgliedschaft</div> + <div class="col-sm-8"><?= $user['member_type_name']; ?></div> </div> <div class="form-group"> - <div class="col-sm-2">Name</div> - <div class="col-sm-10"><?= $user['firstname'].' '.$user['lastname']; ?></div> + <div class="col-sm-4">Name</div> + <div class="col-sm-8"><?= $user['firstname'].' '.$user['lastname']; ?></div> </div> <div class="form-group"> - <div class="col-sm-2">Adresse</div> - <div class="col-sm-10"><?= $user['street'].'<br />'.$user['zip'].' '.$user['town']; ?></div> + <div class="col-sm-4">Adresse</div> + <div class="col-sm-8"><?= $user['street'].'<br />'.$user['zip'].' '.$user['town']; ?></div> </div> <div class="form-group"> - <div class="col-sm-2">Geburtstag</div> - <div class="col-sm-10"><?= $user['birthday']; ?></div> + <div class="col-sm-4">Geburtstag</div> + <div class="col-sm-8"><?= date_to_german($user['birthday']); ?></div> </div> <div class="form-group"> - <div class="col-sm-2">Eintritt</div> - <div class="col-sm-10"><?= $user['joined']; ?></div> + <div class="col-sm-4">Eintritt</div> + <div class="col-sm-8"><?= date_to_german($user['joined']); ?></div> </div> + <?php if(!$user['is_member']) { ?> <div class="form-group"> - <div class="col-sm-2">Austritt</div> - <div class="col-sm-10"><?php if($user['withdrawal'] == '0000-00-00') { echo "---"; } else { echo $user['withdrawal']; } ?></div> + <div class="col-sm-4">Austritt</div> + <div class="col-sm-8"><?= date_to_german($user['withdrawal']); ?></div> </div> + <?php } ?> + <?php if($user['is_member']) { ?> <div class="form-group"> - <div class="col-sm-2">Versicherung</div> - <div class="col-sm-10"><?= $user['insurance_type']; ?></div> + <div class="col-sm-4">Versicherung</div> + <div class="col-sm-8"><?= $user['insurance_type_name']; ?></div> </div> <div class="form-group"> - <div class="col-sm-2">Versicherungsnummer</div> - <div class="col-sm-10"><?= $user['insurance_number']; ?></div> + <div class="col-sm-4">Versicherungsnummer</div> + <div class="col-sm-8"><?= $user['insurance_number']; ?></div> </div> + <?php } ?> </div> <div class="box-body my-form-body"> - <h3>Kontaktdaten</h3> + <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-2"><?= $condata['name']; ?></div> - <div class="col-sm-10"><?= $condata['value']; ?></div> + <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"><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> <?php } ?> </div> </div> </div> </div> -</section> \ No newline at end of file +</section> + +<div class="modal fade" id="contact_add" 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">Kontaktdaten hinzufügen</h4> + </div> + <div class="modal-body"> + <?php echo form_open(base_url('admin/members/contact_add/'.$user['id']), '' )?> + <div class="form-group"> + <div class="form-group"> + <label for="exampleInputEmail1"><b>Kontakt Typ auswählen</b></label> + <select name="contact_type_id" class="form-control"> + <?php foreach($contact_types as $contact_type): ?> + <option value="<?= $contact_type['id']; ?>"><?= $contact_type['contact_type_name']; ?></option> + <?php endforeach; ?> + </select> + </div> + </div> + <div class="form-group"> + <input type="text" class="form-control" name="contactvalue" id="contactvalue" placeholder="Daten eingeben" data-cip-id="contactvalue"> + </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">Hinzufügen</button> + </div> + <?php echo form_close( ); ?> + </div> + </div> +</div> + +<div class="modal fade" id="contact_delete" 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">Kontaktdaten hinzufügen</h4> + </div> + <div class="modal-body"> + Kontakt Eintrag wirklich löschen? + <?php echo form_open(base_url('admin/members/contact_delete/'.$user['id']), '' )?> + <input class="form-control" name="contactid" /> + </div> + <div class="modal-footer"> + <button type="button" class="btn btn-default" data-dismiss="modal">Abbruch</button> + <button type="submit" class="btn btn-danger">Wirklich löschen!</button> + </div> + <?php echo form_close( ); ?> + </div> + </div> +</div> +<script> + $('#contact_delete').on('show.bs.modal', function (event) { + var button = $(event.relatedTarget) // Button that triggered the modal + var recipient = button.data('contactid') // Extract info from data-* attributes + + var modal = $(this) + modal.find('.modal-title').text('New message to ' + recipient) + modal.find('.modal-body input').val(recipient) + }) +</script> \ No newline at end of file