diff --git a/application/config/migration.php b/application/config/migration.php
index 7b38f822..f83559c9 100644
--- a/application/config/migration.php
+++ b/application/config/migration.php
@@ -21,7 +21,7 @@ $config['migration_enabled'] = TRUE;
| be upgraded / downgraded to.
|
*/
-$config['migration_version'] = 118;
+$config['migration_version'] = 119;
/*
|--------------------------------------------------------------------------
diff --git a/application/migrations/119_remove_dxcc_name_from_station_profile.php b/application/migrations/119_remove_dxcc_name_from_station_profile.php
new file mode 100644
index 00000000..0e556c86
--- /dev/null
+++ b/application/migrations/119_remove_dxcc_name_from_station_profile.php
@@ -0,0 +1,26 @@
+db->field_exists('station_country', 'station_profile')) {
+ $this->dbforge->drop_column('station_profile', 'station_country');
+ }
+ }
+
+ public function down()
+ {
+ $fields = array(
+ 'station_country VARCHAR(255) NULL DEFAULT NULL AFTER `station_dxcc`',
+ );
+
+ if (!$this->db->field_exists('station_country', 'station_profile')) {
+ $this->dbforge->add_column('station_profile', $fields);
+ }
+
+ $sql = 'UPDATE `station_profile` JOIN `dxcc_entities` ON `station_profile`.`station_dxcc` = `dxcc_entities`.`adif` SET `station_profile`.`station_country` = `dxcc_entities`.`name`;';
+ $this->db->query($sql);
+ }
+}
diff --git a/application/models/Adif_data.php b/application/models/Adif_data.php
index 7461a7fd..b6c40c2c 100644
--- a/application/models/Adif_data.php
+++ b/application/models/Adif_data.php
@@ -17,6 +17,8 @@ class adif_data extends CI_Model {
$this->load->model('stations');
$active_station_id = $this->stations->find_active();
+ $this->db->select($this->config->item('table_name').'.*, station_profile.*, dxcc_entities.name as station_country');
+
if ($station_id == NULL) {
$this->db->where($this->config->item('table_name').'.station_id', $active_station_id);
} else if ($station_id != 'All') {
@@ -24,6 +26,7 @@ class adif_data extends CI_Model {
}
$this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id');
+ $this->db->join('dxcc_entities', 'station_profile.station_dxcc = dxcc_entities.adif');
// always filter user. this ensures that even if the station_id is from another user no inaccesible QSOs will be returned
$this->db->where('station_profile.user_id', $this->session->userdata('user_id'));
$this->db->where_in('COL_QSL_SENT', array('R', 'Q'));
@@ -37,7 +40,7 @@ class adif_data extends CI_Model {
$this->load->model('stations');
$active_station_id = $this->stations->find_active();
- $this->db->select(''.$this->config->item('table_name').'.*, station_profile.*');
+ $this->db->select(''.$this->config->item('table_name').'.*, station_profile.*, dxcc_entities.name as station_country');
$this->db->from($this->config->item('table_name'));
$this->db->where($this->config->item('table_name').'.station_id', $active_station_id);
$this->db->where($this->config->item('table_name').'.COL_PROP_MODE', 'SAT');
@@ -45,6 +48,7 @@ class adif_data extends CI_Model {
$this->db->order_by($this->config->item('table_name').".COL_TIME_ON", "ASC");
$this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id');
+ $this->db->join('dxcc_entities', 'station_profile.station_dxcc = dxcc_entities.adif');
return $this->db->get();
}
@@ -53,7 +57,7 @@ class adif_data extends CI_Model {
$this->load->model('stations');
$active_station_id = $this->stations->find_active();
- $this->db->select(''.$this->config->item('table_name').'.*, station_profile.*');
+ $this->db->select(''.$this->config->item('table_name').'.*, station_profile.*, dxcc_entities.name as station_country');
$this->db->from($this->config->item('table_name'));
$this->db->where($this->config->item('table_name').'.station_id', $active_station_id);
$this->db->where($this->config->item('table_name').'.COL_PROP_MODE', 'SAT');
@@ -65,6 +69,7 @@ class adif_data extends CI_Model {
$this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id');
+ $this->db->join('dxcc_entities', 'station_profile.station_dxcc = dxcc_entities.adif');
return $this->db->get();
}
@@ -77,7 +82,7 @@ class adif_data extends CI_Model {
return;
}
- $this->db->select(''.$this->config->item('table_name').'.*, station_profile.*');
+ $this->db->select(''.$this->config->item('table_name').'.*, station_profile.*, dxcc_entities.name as station_country');
$this->db->from($this->config->item('table_name'));
$this->db->where($this->config->item('table_name').'.station_id', $station_id);
@@ -102,6 +107,7 @@ class adif_data extends CI_Model {
$this->db->order_by($this->config->item('table_name').".COL_TIME_ON", "ASC");
$this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id');
+ $this->db->join('dxcc_entities', 'station_profile.station_dxcc = dxcc_entities.adif');
return $this->db->get();
}
@@ -111,7 +117,7 @@ class adif_data extends CI_Model {
$active_station_id = $this->stations->find_active();
- $this->db->select(''.$this->config->item('table_name').'.*, station_profile.*');
+ $this->db->select(''.$this->config->item('table_name').'.*, station_profile.*, dxcc_entities.name as station_country');
$this->db->from($this->config->item('table_name'));
$this->db->where($this->config->item('table_name').'.station_id', $active_station_id);
$this->db->group_start();
@@ -122,6 +128,7 @@ class adif_data extends CI_Model {
$this->db->order_by($this->config->item('table_name').".COL_TIME_ON", "ASC");
$this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id');
+ $this->db->join('dxcc_entities', 'station_profile.station_dxcc = dxcc_entities.adif');
return $this->db->get();
}
@@ -141,7 +148,7 @@ class adif_data extends CI_Model {
$CI->load->model('logbooks_model');
$logbooks_locations_array = $CI->logbooks_model->list_logbook_relationships($this->session->userdata('active_station_logbook'));
- $this->db->select(''.$this->config->item('table_name').'.*, station_profile.*');
+ $this->db->select(''.$this->config->item('table_name').'.*, station_profile.*, dxcc_entities.name as station_country');
$this->db->from($this->config->item('table_name'));
$this->db->where_in($this->config->item('table_name').'.station_id', $logbooks_locations_array);
$this->db->where($this->config->item('table_name').'.COL_SIG', $type);
@@ -149,6 +156,7 @@ class adif_data extends CI_Model {
$this->db->order_by($this->config->item('table_name').".COL_TIME_ON", "ASC");
$this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id');
+ $this->db->join('dxcc_entities', 'station_profile.station_dxcc = dxcc_entities.adif');
return $this->db->get();
}
diff --git a/application/models/Logbook_model.php b/application/models/Logbook_model.php
index 2f1b6853..b0f72c09 100755
--- a/application/models/Logbook_model.php
+++ b/application/models/Logbook_model.php
@@ -294,6 +294,8 @@ class Logbook_model extends CI_Model {
public function check_station($id){
+ $this->db->select('station_profile.*, dxcc_entities.name as station_country');
+ $this->db->join('dxcc_entities','station_profile.station_dxcc = dxcc_entities.adif','left');
$this->db->where('station_id', $id);
$query = $this->db->get('station_profile');
@@ -1287,9 +1289,11 @@ class Logbook_model extends CI_Model {
}
function get_qso($id) {
+ $this->db->select($this->config->item('table_name').'.*, station_profile.*, dxcc_entities.*, dxcc_entities_2.name as station_country');
$this->db->from($this->config->item('table_name'));
$this->db->join('dxcc_entities', $this->config->item('table_name').'.col_dxcc = dxcc_entities.adif', 'left');
- $this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id');
+ $this->db->join('station_profile', 'station_profile.station_id = '.$this->config->item('table_name').'.station_id', 'left');
+ $this->db->join('dxcc_entities as dxcc_entities_2', 'station_profile.station_dxcc = dxcc_entities_2.adif');
$this->db->where('COL_PRIMARY_KEY', $id);
return $this->db->get();
@@ -3121,8 +3125,10 @@ class Logbook_model extends CI_Model {
// Collect field information from the station profile table thats required for the QSO.
if($station_id != "0") {
- $station_result = $this->db->where('station_id', $station_id)
- ->get('station_profile');
+ $this->db->select('station_profile.*, dxcc_entities.name as station_country');
+ $this->db->where('station_id', $station_id);
+ $this->db->join('dxcc_entities', 'station_profile.station_dxcc = dxcc_entities.adif');
+ $station_result = $this->db->get('station_profile');
if ($station_result->num_rows() > 0){
$data['station_id'] = $station_id;
diff --git a/application/models/Logbooks_model.php b/application/models/Logbooks_model.php
index 4bd36d66..8cacc5a8 100644
--- a/application/models/Logbooks_model.php
+++ b/application/models/Logbooks_model.php
@@ -262,7 +262,9 @@ class Logbooks_model extends CI_Model {
array_push($relationships_array, $row->station_location_id);
}
+ $this->db->select('station_profile.*, dxcc_entities.name as station_country');
$this->db->where_in('station_id', $relationships_array);
+ $this->db->join('dxcc_entities','station_profile.station_dxcc = dxcc_entities.adif','left');
$query = $this->db->get('station_profile');
return $query;
diff --git a/application/models/Stations.php b/application/models/Stations.php
index 4cab378b..92747812 100644
--- a/application/models/Stations.php
+++ b/application/models/Stations.php
@@ -4,9 +4,10 @@ class Stations extends CI_Model {
function all_with_count() {
- $this->db->select('station_profile.*, count('.$this->config->item('table_name').'.station_id) as qso_total');
+ $this->db->select('station_profile.*, dxcc_entities.name as station_country, count('.$this->config->item('table_name').'.station_id) as qso_total');
$this->db->from('station_profile');
$this->db->join($this->config->item('table_name'),'station_profile.station_id = '.$this->config->item('table_name').'.station_id','left');
+ $this->db->join('dxcc_entities','station_profile.station_dxcc = dxcc_entities.adif','left');
$this->db->group_by('station_profile.station_id');
$this->db->where('station_profile.user_id', $this->session->userdata('user_id'));
$this->db->or_where('station_profile.user_id =', NULL);
@@ -20,7 +21,9 @@ class Stations extends CI_Model {
}
function all_of_user() {
+ $this->db->select('station_profile.*, dxcc_entities.name as station_country');
$this->db->where('user_id', $this->session->userdata('user_id'));
+ $this->db->join('dxcc_entities','station_profile.station_dxcc = dxcc_entities.adif','left');
return $this->db->get('station_profile');
}
@@ -70,7 +73,6 @@ class Stations extends CI_Model {
'station_sig_info' => xss_clean(strtoupper($this->input->post('sig_info', true))),
'station_callsign' => xss_clean($this->input->post('station_callsign', true)),
'station_dxcc' => xss_clean($this->input->post('dxcc', true)),
- 'station_country' => xss_clean($this->input->post('station_country', true)),
'station_cnty' => xss_clean($this->input->post('station_cnty', true)),
'station_cq' => xss_clean($this->input->post('station_cq', true)),
'station_itu' => xss_clean($this->input->post('station_itu', true)),
@@ -103,7 +105,6 @@ class Stations extends CI_Model {
'station_sig_info' => xss_clean($this->input->post('sig_info', true)),
'station_callsign' => xss_clean($this->input->post('station_callsign', true)),
'station_dxcc' => xss_clean($this->input->post('dxcc', true)),
- 'station_country' => xss_clean($this->input->post('station_country', true)),
'station_cnty' => xss_clean($this->input->post('station_cnty', true)),
'station_cq' => xss_clean($this->input->post('station_cq', true)),
'station_itu' => xss_clean($this->input->post('station_itu', true)),
@@ -256,7 +257,9 @@ class Stations extends CI_Model {
// Clean ID
$clean_id = $this->security->xss_clean($id);
- $this->db->where('station_id', $clean_id);
+ $this->db->select('station_profile.*, dxcc_entities.name as station_country');
+ $this->db->where('station_id', $clean_id);
+ $this->db->join('dxcc_entities', 'station_profile.station_dxcc = dxcc_entities.adif');
$query = $this->db->get('station_profile');
$row = $query->row();
diff --git a/application/views/station_profile/create.php b/application/views/station_profile/create.php
index 51995f15..cf1a9982 100644
--- a/application/views/station_profile/create.php
+++ b/application/views/station_profile/create.php
@@ -50,7 +50,6 @@
-
Station DXCC entity. For example: Scotland
diff --git a/application/views/station_profile/edit.php b/application/views/station_profile/edit.php
index e1712d21..0eae08c1 100644
--- a/application/views/station_profile/edit.php
+++ b/application/views/station_profile/edit.php
@@ -69,7 +69,6 @@
- station_country; } ?>" required />
Station DXCC entity. For example: Scotland
diff --git a/application/views/station_profile/index.php b/application/views/station_profile/index.php
index 41ea9215..c16427e0 100644
--- a/application/views/station_profile/index.php
+++ b/application/views/station_profile/index.php
@@ -59,7 +59,7 @@
station_profile_name;?>