kopia lustrzana https://github.com/magicbug/Cloudlog
commit
80bd0500ec
|
@ -10,7 +10,7 @@ class Backup extends CI_Controller {
|
|||
public function index()
|
||||
{
|
||||
$this->load->model('user_model');
|
||||
if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
|
||||
if(!$this->user_model->authorize(99)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
|
||||
|
||||
$data['page_title'] = "Backup";
|
||||
|
||||
|
@ -23,7 +23,7 @@ class Backup extends CI_Controller {
|
|||
public function adif($key = null){
|
||||
if ($key == null) {
|
||||
$this->load->model('user_model');
|
||||
if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
|
||||
if(!$this->user_model->authorize(99)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
|
||||
}
|
||||
|
||||
$this->load->helper('file');
|
||||
|
@ -58,7 +58,7 @@ class Backup extends CI_Controller {
|
|||
public function notes($key = null) {
|
||||
if ($key == null) {
|
||||
$this->load->model('user_model');
|
||||
if(!$this->user_model->authorize(2)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
|
||||
if(!$this->user_model->authorize(99)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
|
||||
}
|
||||
|
||||
$this->load->helper('file');
|
||||
|
|
|
@ -0,0 +1,56 @@
|
|||
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Maintenance extends CI_Controller {
|
||||
function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/* User Facing Links to Maintenance URLs */
|
||||
public function index() {
|
||||
$this->load->model('user_model');
|
||||
if(!$this->user_model->authorize(99)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
|
||||
$this->load->model('Logbook_model');
|
||||
$this->load->model('Stations');
|
||||
$data['stations']=$this->Stations->all();
|
||||
$data['page_title'] = "Maintenance";
|
||||
$data['is_there_qsos_with_no_station_id'] = $this->Logbook_model->check_for_station_id();
|
||||
if ($data['is_there_qsos_with_no_station_id']) {
|
||||
$data['calls_wo_sid']=$this->Logbook_model->calls_without_station_id();
|
||||
}
|
||||
$this->load->view('interface_assets/header', $data);
|
||||
$this->load->view('maintenance/main');
|
||||
$this->load->view('interface_assets/footer');
|
||||
}
|
||||
|
||||
public function reassign() {
|
||||
$this->load->model('user_model');
|
||||
if(!$this->user_model->authorize(99)) { $this->session->set_flashdata('notice', 'You\'re not allowed to do that!'); redirect('dashboard'); }
|
||||
$this->load->model('Logbook_model');
|
||||
$this->load->model('Stations');
|
||||
$call = xss_clean(($this->input->post('call')));
|
||||
$station_profile_id = xss_clean(($this->input->post('station_id')));
|
||||
|
||||
// Check if target-station-id exists
|
||||
$allowed=false;
|
||||
$status=false;
|
||||
$stations=$this->Stations->all();
|
||||
foreach ($stations->result() as $station) {
|
||||
if ($station->station_id == $station_profile_id) { $allowed=true; }
|
||||
}
|
||||
if ($allowed) {
|
||||
log_message("error",$call." to ".$station_profile_id);
|
||||
$status=$this->Logbook_model->update_all_station_ids($station_profile_id,$call);
|
||||
} else {
|
||||
$status=false;
|
||||
}
|
||||
|
||||
header('Content-Type: application/json');
|
||||
echo json_encode(array('status' => $status));
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* End of file Backup.php */
|
|
@ -19,6 +19,9 @@ class Station extends CI_Controller {
|
|||
{
|
||||
$this->load->model('stations');
|
||||
$this->load->model('Logbook_model');
|
||||
$this->load->model('user_model');
|
||||
|
||||
$data['is_admin'] = ($this->user_model->authorize(99));
|
||||
|
||||
$data['stations'] = $this->stations->all_with_count();
|
||||
$data['current_active'] = $this->stations->find_active();
|
||||
|
@ -156,13 +159,6 @@ class Station extends CI_Controller {
|
|||
redirect('station');
|
||||
}
|
||||
|
||||
function assign_all() {
|
||||
$this->load->model('Logbook_model');
|
||||
$this->Logbook_model->update_all_station_ids();
|
||||
|
||||
redirect('station');
|
||||
}
|
||||
|
||||
public function delete($id) {
|
||||
$this->load->model('stations');
|
||||
if ($this->stations->check_station_is_accessible($id)) {
|
||||
|
@ -171,7 +167,7 @@ class Station extends CI_Controller {
|
|||
redirect('station');
|
||||
}
|
||||
|
||||
public function deletelog($id) {
|
||||
public function deletelog($id) {
|
||||
$this->load->model('stations');
|
||||
if ($this->stations->check_station_is_accessible($id)) {
|
||||
$this->stations->deletelog($id);
|
||||
|
|
|
@ -83,3 +83,5 @@ $lang['menu_hardware_interfaces'] = 'Hardware Interfaces';
|
|||
$lang['menu_help'] = 'Help';
|
||||
$lang['menu_forum'] = 'Forum';
|
||||
$lang['menu_logout'] = 'Logout';
|
||||
|
||||
$lang['menu_maintenance']='Maintenance';
|
||||
|
|
|
@ -83,3 +83,5 @@ $lang['menu_hardware_interfaces'] = 'Hardware-Schnittstellen';
|
|||
$lang['menu_help'] = 'Hilfe';
|
||||
$lang['menu_forum'] = 'Forum';
|
||||
$lang['menu_logout'] = 'Logout';
|
||||
|
||||
$lang['menu_maintenance'] = 'Wartung';
|
||||
|
|
|
@ -3850,6 +3850,12 @@ class Logbook_model extends CI_Model {
|
|||
$this->db->trans_complete();
|
||||
}
|
||||
|
||||
public function calls_without_station_id() {
|
||||
$query=$this->db->query("select distinct COL_STATION_CALLSIGN from ".$this->config->item('table_name')." where station_id is null or station_id = ''");
|
||||
$result = $query->result_array();
|
||||
return $result;
|
||||
}
|
||||
|
||||
public function check_for_station_id() {
|
||||
$this->db->where('station_id =', NULL);
|
||||
$query = $this->db->get($this->config->item('table_name'));
|
||||
|
@ -3909,14 +3915,20 @@ class Logbook_model extends CI_Model {
|
|||
}
|
||||
}
|
||||
|
||||
public function update_all_station_ids() {
|
||||
public function update_all_station_ids($station_id,$station_callsign) {
|
||||
|
||||
$data = array(
|
||||
'station_id' => '1',
|
||||
);
|
||||
$data = array(
|
||||
'station_id' => $station_id,
|
||||
);
|
||||
|
||||
$this->db->where(array('station_id' => NULL));
|
||||
return $this->db->update($this->config->item('table_name'), $data);
|
||||
$this->db->where(array('station_id' => NULL));
|
||||
$this->db->where('col_station_callsign', $station_callsign);
|
||||
$this->db->update($this->config->item('table_name'), $data);
|
||||
if ($this->db->affected_rows() > 0) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
public function parse_frequency($frequency)
|
||||
|
|
|
@ -77,6 +77,10 @@ function load_was_map() {
|
|||
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/tempusdominus-bootstrap-4.min.js"></script>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($this->uri->segment(1) == "maintenance" ) { ?>
|
||||
<script src="<?php echo base_url() ;?>assets/js/sections/maintenance.js"></script>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($this->uri->segment(1) == "adif" ) { ?>
|
||||
<script src="<?php echo base_url() ;?>assets/js/sections/adif.js"></script>
|
||||
<?php } ?>
|
||||
|
|
|
@ -182,6 +182,10 @@
|
|||
|
||||
<div class="dropdown-divider"></div>
|
||||
|
||||
<a class="dropdown-item" href="<?php echo site_url('maintenance');?>" title="maintenance"><i class="fas fa-tools"></i> <?php echo lang('menu_maintenance'); ?></a>
|
||||
|
||||
<div class="dropdown-divider"></div>
|
||||
|
||||
<a class="dropdown-item" href="<?php echo site_url('debug');?>" title="Debug Information"><i class="fas fa-tools"></i> <?php echo lang('menu_debug_information'); ?></a>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,57 @@
|
|||
<div class="container">
|
||||
<br>
|
||||
<?php if($this->session->flashdata('message')) { ?>
|
||||
<!-- Display Message -->
|
||||
<div class="alert-message error">
|
||||
<p><?php echo $this->session->flashdata('message'); ?></p>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<h2><?php echo $page_title; ?></h2>
|
||||
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
Maintenance
|
||||
</div>
|
||||
<?php if($is_there_qsos_with_no_station_id >= 1) { ?>
|
||||
<div class="alert alert-danger" role="alert">
|
||||
<span class="badge badge-pill badge-warning">Warning</span> The Database contains QSOs without a station-profile (location)<br/>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="card-text">Please reassign those QSOs to an existing station location:</p>
|
||||
|
||||
|
||||
<div class="table-responsive">
|
||||
<table id="station_locations_table" class="table table-sm table-striped">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Call</th>
|
||||
<th scope="col">Target Location</th>
|
||||
<th scope="col">Reassign</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
foreach ($calls_wo_sid as $call) {
|
||||
echo '<tr><td>'.$call['COL_STATION_CALLSIGN'].'</td><td><select name="station_profile" id="station_profile">';
|
||||
$options='';
|
||||
foreach ($stations->result() as $station) {
|
||||
$options.='<option value='.$station->station_id.'>'.$station->station_profile_name.' ('.$station->station_callsign.')</option>';
|
||||
}
|
||||
echo $options.'</select></td><td><button class="btn btn-warning" onClick="reassign(\''.$call['COL_STATION_CALLSIGN'].'\',$(\'#station_profile option:selected\').val());"><i class="fas fa-sync"></i>Reassign</a></button></td></tr>';
|
||||
} ?>
|
||||
</tbody></table>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
} else { ?>
|
||||
<div class="alert alert-secondary" role="alert">
|
||||
<span class="badge badge-pill badge-success">Everything ok</span> Every QSO in your Database is assigned to a station-profile (location)
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
|
@ -29,11 +29,11 @@
|
|||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if($is_there_qsos_with_no_station_id >= 1) { ?>
|
||||
<?php if (($is_there_qsos_with_no_station_id >= 1) && ($is_admin)) { ?>
|
||||
<div class="alert alert-danger" role="alert">
|
||||
<span class="badge badge-pill badge-warning">Warning</span> Due to recent changes within Cloudlog you need to reassign QSOs to your station profiles.
|
||||
|
||||
Create a station profile, if you haven't already, then <a href="<?php echo site_url('station/assign_all/'); ?>" class="btn btn-danger" onclick="return confirm('Assign All QSOs to Default Station ID"><i class="fas fa-trash-alt"></i> press this button to assign all QSOs to the first Station Profile.</a>
|
||||
</br>
|
||||
Please reassign them at <a href="<?php echo site_url('maintenance/'); ?>" class="btn btn-warning"><i class="fas fa-sync"></i>Admin/Maintenance</a>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
|
@ -68,9 +68,6 @@
|
|||
<span class="badge badge-success">Active Station</span>
|
||||
<?php } ?>
|
||||
|
||||
<?php if($is_there_qsos_with_no_station_id >= 1) { ?>
|
||||
<a href="<?php echo site_url('station/reassign_profile/').$row->station_id; ?>" class="btn btn-outline-secondary btn-sm" onclick="return confirm('Are you sure you want to reassign QSOs to the <?php echo $row->station_profile_name; ?> profile?');">Reassign</a>
|
||||
<?php } ?>
|
||||
<br>
|
||||
<span class="badge badge-info">ID: <?php echo $row->station_id;?></span>
|
||||
<span class="badge badge-light"><?php echo $row->qso_total;?> QSOs</span>
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
function reassign(call,target_profile_id) {
|
||||
$.ajax({
|
||||
url: base_url + 'index.php/maintenance/reassign',
|
||||
type: 'post',
|
||||
data: {'call': call, 'station_id': target_profile_id},
|
||||
success: function (resu) {
|
||||
if (resu.status) {
|
||||
location.reload();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
Ładowanie…
Reference in New Issue