Can edit visitor link

This commit is contained in:
Andreas Kristiansen
2024-03-15 11:42:19 +01:00
parent b5c1c0391a
commit 2b4b869d6a
6 changed files with 64 additions and 24 deletions

View File

@@ -190,6 +190,11 @@ class Stationsetup extends CI_Controller {
$this->load->view('stationsetup/visitor', $data);
}
public function saveVisitorLink() {
$this->load->model('stationsetup_model');
$this->stationsetup_model->saveVisitorLink();
}
public function newLocation() {
$this->load->model('stations');
$this->load->model('dxcc');
@@ -348,4 +353,18 @@ class Stationsetup extends CI_Controller {
return $returntext;
}
public function remove_publicslug() {
$id = xss_clean($this->input->post('id',true));
if ($id ?? '' != '') {
$this->load->model('stationsetup_model');
$this->stationsetup_model->remove_public_slug($id);
$data['success']=1;
} else {
$data['success']=0;
$data['flashdata']='Not allowed';
}
echo json_encode($data);
}
}

View File

@@ -20,6 +20,20 @@ class Stationsetup_model extends CI_Model {
$this->db->where('logbook_id', xss_clean($this->input->post('id', true)));
$this->db->update('station_logbooks', $data);
}
function remove_public_slug($logbook_id) {
$this->db->set('public_slug', null);
$this->db->where('user_id', $this->session->userdata('user_id'));
$this->db->where('logbook_id', xss_clean($logbook_id));
$this->db->update('station_logbooks');
}
function saveVisitorLink() {
$this->db->set('public_slug', xss_clean($this->input->post('name', true)));
$this->db->where('user_id', $this->session->userdata('user_id'));
$this->db->where('logbook_id', xss_clean($this->input->post('id', true)));
$this->db->update('station_logbooks');
}
}
?>

View File

@@ -153,18 +153,6 @@ if($this->session->userdata('user_id') != null) {
<script src="<?php echo base_url() ;?>assets/js/sections/notes.js"></script>
<?php } ?>
<?php if ($this->uri->segment(1) == "logbooks" && $this->uri->segment(2) == "edit") { ?>
<script>
function removeSlug() {
var slugLink = document.getElementById("slugLink");
if (slugLink !== null) {
slugLink.style.display = "none";
}
document.getElementById('publicSlugInput').value = ''
}
</script>
<?php } ?>
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/datatables.min.js"></script>
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/dataTables.buttons.min.js"></script>
<script type="text/javascript" src="<?php echo base_url(); ?>assets/js/buttons.html5.min.js"></script>
@@ -1906,9 +1894,9 @@ $(document).ready(function(){
<script>
var reload_after_qso_safe = false;
<?php if (
$this->uri->segment(1) != "search" &&
$this->uri->segment(2) != "filter" &&
$this->uri->segment(1) != "qso" &&
$this->uri->segment(1) != "search" &&
$this->uri->segment(2) != "filter" &&
$this->uri->segment(1) != "qso" &&
$this->uri->segment(1) != "logbookadvanced") { ?>
reload_after_qso_safe = true;
<?php } ?>

View File

@@ -64,6 +64,7 @@
class="btn btn-outline-primary btn-sm"><i class="fas fa-globe"
title="<?php echo lang('station_logbooks_view_public') . $row->logbook_name;?>"></i>
</a>
<button id="<?php echo $row->logbook_id; ?>" class="deletePublicSlug btn btn-outline-danger btn-sm"><i class="fas fa-trash-alt"></i></button>
<?php } ?>
</td>
<td>

View File

@@ -6,17 +6,10 @@
<div id="publicSlugForm">
</div>
<div class="mb-3">
<input type="hidden" name="logbook_id" value="<?php echo $station_logbook_details->logbook_id; ?>">
<input type="hidden" name="logbook_id" id="logbook_id" value="<?php echo $station_logbook_details->logbook_id; ?>">
<label for="publicSlugInput"><?php echo lang('station_logbooks_public_slug_input'); ?></label>
<div hx-target="this" hx-swap="outerHTML">
<input class="form-control" name="public_slug" id="publicSlugInput" pattern="[a-zA-Z0-9-]+" value="<?php echo $station_logbook_details->public_slug; ?>" hx-post="<?php echo site_url('logbooks/publicslug_validate/'); ?>" hx-trigger="keyup changed delay:500ms" required>
</div>
<input class="form-control" name="public_slug" id="publicSlugInput" pattern="[a-zA-Z0-9-]+" value="<?php echo $station_logbook_details->public_slug; ?>" required>
</div>
<button type="submit" class="btn btn-primary" style="display:inline-block;"><i class="fas fa-plus-square"></i> <?php echo lang('admin_save'); ?></button>
</form>
<form hx-post="<?php echo site_url('logbooks/remove_publicslug/'); ?>" hx-target="#publicSlugForm" style="display: inline; margin-left: 5px;">
<input type="hidden" name="logbook_id" value="<?php echo $station_logbook_details->logbook_id; ?>">
<button type="submit" class="btn btn-primary" style="display:inline-block;" onclick="removeSlug()"><i class="fas fa-minus-square"></i> <?php echo lang('admin_remove'); ?></button>
</form>
<?php if($station_logbook_details->public_slug != "") { ?>

View File

@@ -67,6 +67,9 @@ $(document).ready(function () {
editVisitorLink(e);
});
$(document).on('click', '.deletePublicSlug', async function (e) { // Dynamic binding, since element doesn't exists when loading this JS
await do_ajax('remove_publicslug', 'id', reloadLogbooks,e);
});
$("#station_logbooks_table").DataTable({
stateSave: true,
@@ -224,6 +227,10 @@ $(document).ready(function () {
buttons: [{
label: 'Save',
cssClass: 'btn-primary btn-sm',
action: function (dialogItself) {
saveVisitorLink();
dialogItself.close();
}
},
{
label: lang_admin_close,
@@ -242,6 +249,24 @@ $(document).ready(function () {
return false;
}
function saveVisitorLink() {
$.ajax({
url: base_url + 'index.php/stationsetup/saveVisitorLink',
type: 'post',
data: {
id: $('#logbook_id').val(),
name: $('#publicSlugInput').val()
},
success: function (data) {
reloadLogbooks();
},
error: function (data) {
},
});
return false;
}
function reloadLogbooks() {
$.ajax({