mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0cedf5b42a | |||
| 28abf64798 | |||
| 01436cb4d1 |
@@ -109,7 +109,7 @@ class Lehrauftrag extends Auth_Controller
|
||||
$studiensemester_kurzbz = $this->input->get('studiensemester'); // if provided by selected studiensemester
|
||||
if (is_null($studiensemester_kurzbz)) // else set next studiensemester as default value
|
||||
{
|
||||
$studiensemester = $this->StudiensemesterModel->getAktOrNextSemester();
|
||||
$studiensemester = $this->StudiensemesterModel->getAktOrNextSemester(62);
|
||||
if (hasData($studiensemester))
|
||||
{
|
||||
$studiensemester_kurzbz = $studiensemester->retval[0]->studiensemester_kurzbz;
|
||||
|
||||
@@ -75,7 +75,7 @@ class LehrauftragAkzeptieren extends Auth_Controller
|
||||
$studiensemester_kurzbz = $this->input->get('studiensemester'); // if provided by selected studiensemester
|
||||
if (is_null($studiensemester_kurzbz)) // else set next studiensemester as default value
|
||||
{
|
||||
$studiensemester = $this->StudiensemesterModel->getAktOrNextSemester();
|
||||
$studiensemester = $this->StudiensemesterModel->getAktOrNextSemester(62);
|
||||
if (hasData($studiensemester))
|
||||
{
|
||||
$studiensemester_kurzbz = $studiensemester->retval[0]->studiensemester_kurzbz;
|
||||
|
||||
@@ -91,7 +91,7 @@ class LehrauftragErteilen extends Auth_Controller
|
||||
$studiensemester_kurzbz = $this->input->get('studiensemester'); // if provided by selected studiensemester
|
||||
if (is_null($studiensemester_kurzbz)) // else set next studiensemester as default value
|
||||
{
|
||||
$studiensemester = $this->StudiensemesterModel->getAktOrNextSemester();
|
||||
$studiensemester = $this->StudiensemesterModel->getAktOrNextSemester(62);
|
||||
if (hasData($studiensemester))
|
||||
{
|
||||
$studiensemester_kurzbz = $studiensemester->retval[0]->studiensemester_kurzbz;
|
||||
|
||||
@@ -53,11 +53,9 @@ class Studienjahr_model extends DB_Model
|
||||
* @param int $days
|
||||
* @return array|stdClass|null
|
||||
*/
|
||||
public function getLastOrAktStudienjahr($days = 60)
|
||||
public function getLastOrAktStudienjahr($days = 0)
|
||||
{
|
||||
if (!is_numeric($days)) {
|
||||
$days = 60;
|
||||
}
|
||||
$days = is_numeric($days) ? $this->escape($days) : 0;
|
||||
|
||||
$query = '
|
||||
SELECT *
|
||||
@@ -77,19 +75,25 @@ class Studienjahr_model extends DB_Model
|
||||
* @param int $days
|
||||
* @return array|stdClass|null
|
||||
*/
|
||||
public function getAktOrNextStudienjahr($days = 62)
|
||||
public function getAktOrNextStudienjahr($days = 0)
|
||||
{
|
||||
if (!is_numeric($days)) {
|
||||
$days = 62;
|
||||
}
|
||||
$days = is_numeric($days) ? $this->escape($days) : 0;
|
||||
|
||||
$query = '
|
||||
SELECT *
|
||||
FROM public.tbl_studienjahr
|
||||
JOIN public.tbl_studiensemester using(studienjahr_kurzbz)
|
||||
WHERE start < NOW() + \'' . $days . ' DAYS\'::INTERVAL
|
||||
ORDER by start DESC
|
||||
LIMIT 1
|
||||
SELECT * FROM (
|
||||
SELECT
|
||||
jahr.*, MIN(sem.start) AS beginn, MAX(sem.ende) AS ende
|
||||
FROM
|
||||
public.tbl_studienjahr jahr
|
||||
JOIN public.tbl_studiensemester sem using(studienjahr_kurzbz)
|
||||
GROUP BY
|
||||
studienjahr_kurzbz
|
||||
) jahre
|
||||
WHERE
|
||||
ende >= NOW() + \'' . $days . ' DAYS\'::INTERVAL
|
||||
ORDER BY
|
||||
ende
|
||||
LIMIT 1
|
||||
';
|
||||
|
||||
return $this->execQuery($query);
|
||||
|
||||
@@ -45,39 +45,44 @@ class Studiensemester_model extends DB_Model
|
||||
|
||||
/**
|
||||
* getLastOrAktSemester
|
||||
* @param $days offset in days, if last semester should be returned instead of current
|
||||
*/
|
||||
public function getLastOrAktSemester($days = 60)
|
||||
public function getLastOrAktSemester($days = 0)
|
||||
{
|
||||
if (!is_numeric($days))
|
||||
{
|
||||
$days = 60;
|
||||
}
|
||||
if (!is_numeric($days)) $days = 0;
|
||||
|
||||
$query = 'SELECT studiensemester_kurzbz, start, ende
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE start < NOW() - \'' . $days . ' DAYS\'::INTERVAL
|
||||
ORDER BY start DESC
|
||||
LIMIT 1';
|
||||
$query = '
|
||||
SELECT
|
||||
studiensemester_kurzbz, start, ende
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE
|
||||
start < NOW() - \'' . $this->escape($days) . ' DAYS\'::INTERVAL
|
||||
ORDER
|
||||
BY start DESC
|
||||
LIMIT 1';
|
||||
|
||||
return $this->execQuery($query);
|
||||
}
|
||||
|
||||
/**
|
||||
* getNextOrAktSemester
|
||||
* 62 days - in july and august, semester after summer is returned
|
||||
* Returns current semester, or next
|
||||
* @param $days offset in days, if next semester should be returned earlier
|
||||
*/
|
||||
public function getAktOrNextSemester($days = 62)
|
||||
public function getAktOrNextSemester($days = 0)
|
||||
{
|
||||
if (!is_numeric($days))
|
||||
{
|
||||
$days = 62;
|
||||
}
|
||||
$days = is_numeric($days) ? $this->escape($days) : 0;
|
||||
|
||||
$query = 'SELECT studiensemester_kurzbz, start, ende
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE start < NOW() + \'' . $days . ' DAYS\':: INTERVAL
|
||||
ORDER BY start DESC
|
||||
LIMIT 1';
|
||||
$query = "
|
||||
SELECT
|
||||
studiensemester_kurzbz, start, ende
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE
|
||||
ende >= NOW() + '". $this->escape($days) . " DAYS'::INTERVAL
|
||||
ORDER BY
|
||||
ende
|
||||
LIMIT 1;";
|
||||
|
||||
return $this->execQuery($query);
|
||||
}
|
||||
@@ -177,15 +182,19 @@ class Studiensemester_model extends DB_Model
|
||||
*/
|
||||
public function getByDate($date)
|
||||
{
|
||||
// gets the studiensemster of a date or the next closest previous studiensemester if a date is not within a studiensemester
|
||||
// gets the studiensemster of a date or the closest previous studiensemester if a date is not within a studiensemester
|
||||
$query = "
|
||||
SELECT studiensemester_kurzbz, start, ende
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ( ende >= ?::date AND start <= ?::date ) OR ( ende >= ?::date + '-45 days'::interval AND start <= ?::date + '-45 days'::interval )
|
||||
ORDER BY start DESC
|
||||
SELECT
|
||||
studiensemester_kurzbz, start, ende
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE
|
||||
start <= ?::date
|
||||
ORDER BY
|
||||
start DESC
|
||||
LIMIT 1";
|
||||
|
||||
return $this->execQuery($query, array($date,$date,$date,$date));
|
||||
return $this->execQuery($query, array($date));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -200,10 +209,13 @@ class Studiensemester_model extends DB_Model
|
||||
return success(array());
|
||||
|
||||
$query = "
|
||||
SELECT *
|
||||
FROM public.tbl_studiensemester
|
||||
WHERE ( ?::date < ende AND ?::date > start )
|
||||
ORDER BY start DESC";
|
||||
SELECT *
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE
|
||||
?::date < ende AND ?::date > start
|
||||
ORDER BY
|
||||
start DESC";
|
||||
|
||||
return $this->execQuery($query, array($from, $to));
|
||||
}
|
||||
@@ -275,7 +287,7 @@ class Studiensemester_model extends DB_Model
|
||||
$this->addLimit($minus);
|
||||
$this->db->where('start <= NOW()', null, false);
|
||||
$minus = $this->db->get_compiled_select($this->dbTable);
|
||||
|
||||
|
||||
$this->db->where_in($this->pk, '(' . $plus . ') UNION (' . $minus . ')', false);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user