[Labels] Adding custom paper types

pull/2367/head
Andreas 2023-08-01 18:55:42 +02:00
rodzic e6ee8cd9e2
commit 8ac7a8e3d6
6 zmienionych plików z 263 dodań i 8 usunięć

Wyświetl plik

@ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE;
|
*/
$config['migration_version'] = 132;
$config['migration_version'] = 133;
/*
|--------------------------------------------------------------------------

Wyświetl plik

@ -0,0 +1,63 @@
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Migration_create_label_paper_types_table extends CI_Migration {
public function up() {
if (!$this->db->table_exists('paper_types')) {
$this->dbforge->add_field(array(
'id' => array(
'type' => 'INT',
'constraint' => 5,
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'user_id' => array(
'type' => 'INT',
'constraint' => 5,
),
'paper_name' => array(
'type' => 'VARCHAR',
'constraint' => '250',
),
'metric' => array(
'type' => 'VARCHAR',
'constraint' => '10',
),
'width' => array(
'type' => 'DECIMAL',
'constraint' => '6,3',
'null' => TRUE,
),
'height' => array(
'type' => 'DECIMAL',
'constraint' => '6,3',
'null' => TRUE,
),
'last_modified' => array(
'type' => 'timestamp',
'null' => TRUE,
),
));
$this->dbforge->add_key('id', TRUE);
$this->dbforge->add_key('user_id', TRUE);
$this->dbforge->create_table('paper_types');
}
}
public function down(){
if ($this->db->table_exists('paper_types')) {
$this->dbforge->drop_table('paper_types');
}
}
}

Wyświetl plik

@ -25,11 +25,25 @@ class Labels_model extends CI_Model {
}
function addPaper() {
$data = array(
'user_id' => $this->session->userdata('user_id'),
'paper_name' => xss_clean($this->input->post('paper_name', true)),
'metric' => xss_clean($this->input->post('measurementType', true)),
'width' => xss_clean($this->input->post('width', true)),
'height' => xss_clean($this->input->post('height', true)),
'last_modified' => date('Y-m-d H:i:s'),
);
$this->db->insert('paper_types', $data);
}
function getLabel($id) {
$this->db->where('user_id', $this->session->userdata('user_id'));
$this->db->where('id', $id);
$query = $this->db->get('label_types');
return $query->row();
}
@ -63,26 +77,26 @@ class Labels_model extends CI_Model {
function deleteLabel($id) {
$cleanid = xss_clean($id);
$this->db->delete('label_types', array('id' => $cleanid, 'user_id' => $this->session->userdata('user_id')));
$this->db->delete('label_types', array('id' => $cleanid, 'user_id' => $this->session->userdata('user_id')));
}
function fetchLabels($user_id) {
$this->db->where('user_id', $user_id);
$query = $this->db->get('label_types');
return $query->result();
}
function fetchQsos($user_id) {
$qsl = "select count(*) count, station_profile.station_profile_name, station_profile.station_callsign, station_profile.station_id, station_profile.station_gridsquare
from ". $this->config->item('table_name') . " as l
from ". $this->config->item('table_name') . " as l
join station_profile on l.station_id = station_profile.station_id
where l.COL_QSL_SENT in ('R', 'Q')
and station_profile.user_id = " . $user_id .
" group by station_profile.station_profile_name, station_profile.station_callsign, station_profile.station_id, station_profile.station_gridsquare
order by station_profile.station_callsign";
$query = $this->db->query($qsl);
return $query->result();
@ -92,7 +106,7 @@ class Labels_model extends CI_Model {
$this->db->where('user_id', $this->session->userdata('user_id'));
$this->db->where('useforprint', '1');
$query = $this->db->get('label_types');
return $query->row();
}

Wyświetl plik

@ -0,0 +1,57 @@
<div id="qsl_card_labels_container" 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 } ?>
<?php echo validation_errors(); ?>
<form method="post" action="<?php echo site_url('labels/createpaper'); ?>" name="create_paper_type">
<div class="card">
<h2 class="card-header"><?php echo $page_title; ?></h2>
<div class="card-body">
<!-- Label Name Input -->
<div class="form-group row">
<label class= "col-sm-2 col-form-label" for="PaperName">Paper Type Name</label>
<div class="col-sm-4">
<input name="paper_name" type="text" class="form-control" id="PaperName" aria-describedby="paper_nameHelp">
<small id="paper_nameHelp" class="form-text text-muted">Paper name used for display purposes, so pick something meaningful.</small>
</div>
<label class="col-sm-2 col-form-label" for="measurementType">Measurement used</label>
<div class="col-sm-4">
<select name="measurementType" class="form-control" id="measurementType">
<option value="mm">Millimeters</option>
<option value="in">Inches</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label" for="width">Width of paper</label>
<div class="col-sm-4">
<input name="width" type="text" class="form-control" id="width" aria-describedby="widthHelp">
<small id="widthHelp" class="form-text text-muted">Total width of paper.</small>
</div>
<label class="col-sm-2 col-form-label" for="height">Height of paper</label>
<div class="col-sm-4">
<input name="height" type="text" class="form-control" id="height" aria-describedby="heightHelp">
<small id="heightHelp" class="form-text text-muted">Total height of paper</small>
</div>
</div>
<button type="submit" class="btn btn-primary"><i class="fas fa-plus-square"></i> Save Paper Type</button>
</div>
</div>
</form>
</div>
<br>

Wyświetl plik

@ -0,0 +1,120 @@
<div id="qsl_card_labels_container" 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 } ?>
<?php echo validation_errors(); ?>
<form method="post" action="<?php echo site_url('labels/updateLabel/' . $label->id); ?>" name="create_label_type">
<div class="card">
<h2 class="card-header"><?php echo $page_title; ?></h2>
<div class="card-body">
<!-- Label Name Input -->
<div class="form-group">
<label for="LabelName">Label Name</label>
<input name="label_name" type="text" class="form-control" id="LabelName" aria-describedby="label_nameHelp" placeholder="Code 925041 6x3 Generic Label Sheet" value="<?php if(isset($label->label_name)) { echo $label->label_name; } ?>">
<small id="label_nameHelp" class="form-text text-muted">Label name used for display purposes so pick something meaningful perhaps the label style.</small>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label" for="paperType">Paper Type</label>
<div class="col-sm-4">
<select name="paper_type" class="form-control" id="paperType">
<option value="a4" <?php if($label->paper_type == "a4") { echo "selected=\"selected\""; } ?>>A4</option>
<option value="letter" <?php if($label->paper_type == "letter") { echo "selected=\"selected\""; } ?>>Letter</option>
</select>
</div>
<label class="col-sm-2 col-form-label" for="measurementType">Measurement used</label>
<div class="col-sm-4">
<select name="measurementType" class="form-control" id="measurementType">
<option value="mm" <?php if($label->metric == "mm") { echo "selected=\"selected\""; } ?>>Millimeters</option>
<option value="in" <?php if($label->metric == "in") { echo "selected=\"selected\""; } ?>>Inches</option>
</select>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label" for="marginTop">Margin Top</label>
<div class="col-sm-4">
<input name="marginTop" type="text" class="form-control" id="marginTop" aria-describedby="marginTopHelp" value="<?php if(isset($label->margintop)) { echo $label->margintop; } ?>">
<small id="marginTopHelp" class="form-text text-muted">Top margin of labels</small>
</div>
<label class="col-sm-2 col-form-label" for="marginLeft">Margin Left</label>
<div class="col-sm-4">
<input name="marginLeft" type="text" class="form-control" id="marginLeft" aria-describedby="marginLeftHelp" value="<?php if(isset($label->marginleft)) { echo $label->marginleft; } ?>">
<small id="marginLeftHelp" class="form-text text-muted">Left margin of labels.</small>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label" for="NX">Labels horizontally</label>
<div class="col-sm-4">
<input name="NX" type="number" min="1" max="40" step="1" class="form-control" id="NX" aria-describedby="NXHelp" value="<?php if(isset($label->nx)) { echo $label->nx; } ?>">
<small id="NXHelp" class="form-text text-muted">Number of labels horizontally across the page.</small>
</div>
<label class="col-sm-2 col-form-label" for="NY">Labels vertically</label>
<div class="col-sm-4">
<input name="NY" type="number" min="1" max="40" step="1" class="form-control" id="NY" aria-describedby="NYHelp" value="<?php if(isset($label->ny)) { echo $label->ny; } ?>">
<small id="NYHelp" class="form-text text-muted">Number of labels vertically across the page.</small>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label" for="SpaceX">Horizontal space</label>
<div class="col-sm-4">
<input name="SpaceX" type="text" class="form-control" id="SpaceX" value="<?php if(isset($label->spacex)) { echo $label->spacex; } ?>">
<small id="NYHelp" class="form-text text-muted">Horizontal space between 2 labels.</small>
</div>
<label class="col-sm-2 col-form-label" for="SpaceY">Vertical space</label>
<div class="col-sm-4">
<input name="SpaceY" type="text" class="form-control" id="SpaceY" value="<?php if(isset($label->spacey)) { echo $label->spacey; } ?>">
<small id="NYHelp" class="form-text text-muted">Vertical space between 2 labels.</small>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label" for="width">Width of label</label>
<div class="col-sm-4">
<input name="width" type="text" class="form-control" id="width" aria-describedby="widthHelp" value="<?php if(isset($label->width)) { echo $label->width; } ?>">
<small id="widthHelp" class="form-text text-muted">Total width of one label.</small>
</div>
<label class="col-sm-2 col-form-label" for="height">Height of label</label>
<div class="col-sm-4">
<input name="height" type="text" class="form-control" id="height" aria-describedby="heightHelp" value="<?php if(isset($label->height)) { echo $label->height; } ?>">
<small id="heightHelp" class="form-text text-muted">Total height of one label</small>
</div>
</div>
<div class="form-group row">
<label class="col-sm-2 col-form-label" for="font_size">Font Size</label>
<div class="col-sm-4">
<input name="font_size" type="number" min="1" max="40" step="1" class="form-control" id="font_size" aria-describedby="font_sizeHelp" value="<?php if(isset($label->font_size)) { echo $label->font_size; } ?>">
<small id="font_sizeHelp" class="form-text text-muted">Font size used on the label don't go too big.</small>
</div>
<label class="col-sm-2 col-form-label" for="font_size">QSOs on label</label>
<div class="col-sm-4">
<input name="label_qsos" type="number" min="1" max="40" step="1" class="form-control" id="label_qsos" aria-describedby="font_sizeHelp" value="<?php if(isset($label->qsos)) { echo $label->qsos; } ?>">
</div>
</div>
<button type="submit" class="btn btn-primary"><i class="fas fa-plus-square"></i> Save Label Type</button>
</div>
</div>
</form>
</div>
<br>

Wyświetl plik

@ -26,7 +26,8 @@
<h2 class="card-header">QSL Card Labels</h2>
<div class="card-body">
<a href="<?php echo site_url('labels/create'); ?>" class="btn btn-outline-primary btn-sm">Create New Label Type</a>
<a href="<?php echo site_url('labels/create'); ?>" class="btn btn-outline-primary btn-sm">Create New Label Type</a>
<a href="<?php echo site_url('labels/createpaper'); ?>" class="btn btn-outline-primary btn-sm">Create New Paper Type</a>
<?php if ($labels) {