mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-24 02:12:17 +00:00
Checkroles
This commit is contained in:
@@ -167,8 +167,8 @@ $config['fhc_acl'] = array
|
||||
'public.tbl_ortraumtyp' => 'basis/ortraumtyp',
|
||||
'public.tbl_person' => 'basis/person',
|
||||
'public.tbl_personfunktionstandort' => 'basis/personfunktionstandort',
|
||||
'public.tbl_phrase' => 'basis/phrase',
|
||||
'public.tbl_phrase_inhalt' => 'basis/phrase',
|
||||
'public.tbl_phrase' => 'system/phrase',
|
||||
'public.tbl_phrase_inhalt' => 'system/phrase',
|
||||
'public.tbl_preincoming' => 'basis/preincoming',
|
||||
'public.tbl_preinteressent' => 'basis/preinteressent',
|
||||
'public.tbl_preinteressentstudiengang' => 'basis/preinteressentstudiengang',
|
||||
@@ -191,8 +191,8 @@ $config['fhc_acl'] = array
|
||||
'public.tbl_studiensemester' => 'basis/studiensemester',
|
||||
'public.tbl_tag' => 'basis/tag',
|
||||
'public.tbl_variable' => 'basis/variable',
|
||||
'public.tbl_vorlage' => 'basis/vorlage',
|
||||
'public.tbl_vorlagestudiengang' => 'basis/vorlagestudiengang',
|
||||
'public.tbl_vorlage' => 'system/vorlage',
|
||||
'public.tbl_vorlagestudiengang' => 'system/vorlagestudiengang',
|
||||
'public.vw_studiensemester' => 'basis/vw_studiensemester',
|
||||
'system.tbl_appdaten' => 'basis/appdaten',
|
||||
'system.tbl_benutzerrolle' => 'basis/benutzerrolle',
|
||||
|
||||
@@ -41,6 +41,7 @@ class Migration_Message extends CI_Migration {
|
||||
CREATE TABLE public.tbl_msg_recipient (
|
||||
person_id bigint NOT NULL references public.tbl_person(person_id),
|
||||
message_id bigint NOT NULL references public.tbl_msg_message(message_id),
|
||||
token varchar(128) UNIQUE,
|
||||
insertamum timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
insertvon varchar(32),
|
||||
PRIMARY KEY (person_id,message_id)
|
||||
|
||||
@@ -16,9 +16,13 @@ class Seed_Studienordnung
|
||||
$this->fhc->load->model('organisation/Studienplan_model', 'StudienplanModel');
|
||||
|
||||
// Studienordnung
|
||||
echo "Seeding about $limit Studienordnungen ";
|
||||
echo "Seeding about $limit Studienordnungen<br/>";
|
||||
$data = array('studiengang_kz' =>3, 'bezeichnung' => 'BUM-WS2016-VZ');
|
||||
$studienordnung_id = $this->fhc->StudienordnungModel->insert($data)->retval;
|
||||
$res = $this->fhc->StudienordnungModel->insert($data);
|
||||
if ($res->error)
|
||||
die($res->retval);
|
||||
else
|
||||
$studienordnung_id = $res->retval;
|
||||
$data = array('studiengang_kz' =>4, 'bezeichnung' => 'BDI-WS2016-VZ');
|
||||
$this->fhc->StudienordnungModel->insert($data);
|
||||
$data = array('studiengang_kz' =>5, 'bezeichnung' => 'BPT-WS2016-VZ');
|
||||
@@ -71,7 +75,7 @@ class Seed_Studienordnung
|
||||
$this->fhc->StudienordnungModel->insert($data);
|
||||
|
||||
//Studienplan
|
||||
echo "Seeding about $limit Studienplaene ";
|
||||
echo "Seeding about $limit Studienplaene<br/>";
|
||||
$data = array('studienordnung_id' => $studienordnung_id, 'bezeichnung' => 'BUM-WS2016-VZ');
|
||||
$this->fhc->StudienplanModel->insert($data);
|
||||
$data = array('studienordnung_id' => $studienordnung_id+1, 'bezeichnung' => 'BDI-WS2016-VZ');
|
||||
|
||||
@@ -5,10 +5,14 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
class Seed_Person
|
||||
{
|
||||
|
||||
public function seed($limit = 25)
|
||||
public function __construct()
|
||||
{
|
||||
$this->fhc =& get_instance();
|
||||
}
|
||||
|
||||
public function seed($limit = 200)
|
||||
{
|
||||
echo "Seeding $limit persons ";
|
||||
$this->fhc =& get_instance();
|
||||
$this->fhc->load->model('person/Person_model');
|
||||
|
||||
for ($i = 0; $i < $limit; $i++)
|
||||
@@ -41,7 +45,7 @@ class Seed_Person
|
||||
|
||||
public function truncate()
|
||||
{
|
||||
//$this->db->query('EMPTY TABLE public.person;');
|
||||
$this->fhc->db->query('DELETE FROM public.tbl_person WHERE person_id>2;');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,44 +4,55 @@ defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
|
||||
class Seed_Prestudent
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->fhc =& get_instance();
|
||||
}
|
||||
|
||||
public function seed($limit = 25)
|
||||
{
|
||||
echo "Seeding $limit prestudents ";
|
||||
$this->fhc =& get_instance();
|
||||
$this->fhc->load->model('crm/Prestudent_model');
|
||||
|
||||
for ($i = 0; $i < $limit; $i++)
|
||||
|
||||
$person = $this->fhc->db->query('SELECT person_id FROM public.tbl_person WHERE person_id>2 AND person_id%5!=0 LIMIT 100;');
|
||||
$studplan = $this->fhc->db->query('SELECT oe_kurzbz, studiengang_kz, studienplan_id from public.tbl_studiengang JOIN lehre.tbl_studienordnung USING (studiengang_kz) JOIN lehre.tbl_studienplan USING (studienordnung_id) LIMIT 100;');
|
||||
$studrows = $studplan->num_rows();
|
||||
$studplan = $studplan->result();
|
||||
|
||||
$i = 0;
|
||||
foreach ($person->result() as $p)
|
||||
{
|
||||
echo ".";
|
||||
$studrow = $i % $studrows;
|
||||
|
||||
// Prestudent
|
||||
$data = array(
|
||||
'person_id' => $i+3, // start with person_id 3
|
||||
'person_id' => $p->person_id,
|
||||
'aufmerksamdurch_kurzbz' => 'k.A.',
|
||||
'studiengang_kz' => $this->fhc->faker->firstName,
|
||||
'nachname' => $this->fhc->faker->lastName,
|
||||
//'address' => $this->faker->streetAddress,
|
||||
'gebort' => $this->fhc->faker->city,
|
||||
//'state' => $this->faker->state,
|
||||
//'country' => $this->faker->country,
|
||||
//'postcode' => $this->faker->postcode,
|
||||
//'email' => $this->faker->email,
|
||||
//'email_verified' => mt_rand(0, 1) ? '0' : '1',
|
||||
//'phone' => $this->faker->phoneNumber,
|
||||
'gebdatum' => $this->fhc->faker->dateTimeThisCentury->format('Y-m-d H:i:s'),
|
||||
//'registration_date' => $this->faker->dateTimeThisYear->format('Y-m-d H:i:s'),
|
||||
//'ip_address' => mt_rand(0, 1) ? $this->faker->ipv4 : $this->faker->ipv6,
|
||||
'studiengang_kz' => $studplan[$studrow]->studiengang_kz
|
||||
);
|
||||
|
||||
$this->fhc->Prestudent_model->insert($data);
|
||||
$this->fhc->db->insert('public.tbl_prestudent',$data);
|
||||
$id = $this->fhc->db->insert_id();
|
||||
|
||||
// Prestudentstatus
|
||||
$data = array(
|
||||
'prestudent_id' => $id,
|
||||
'status_kurzbz' => 'Interessent',
|
||||
'studiensemester_kurzbz' => 'WS2016',
|
||||
'datum' => 'now()',
|
||||
'studienplan_id' => $studplan[$studrow]->studienplan_id
|
||||
);
|
||||
$this->fhc->db->insert('public.tbl_prestudentstatus',$data);
|
||||
|
||||
echo ".";
|
||||
if (++$i>$limit)
|
||||
break;
|
||||
}
|
||||
|
||||
echo PHP_EOL;
|
||||
|
||||
echo PHP_EOL;
|
||||
}
|
||||
|
||||
public function truncate()
|
||||
{
|
||||
//$this->db->query('EMPTY TABLE public.person;');
|
||||
$this->fhc->db->query('DELETE FROM public.tbl_prestudent;');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,15 +5,15 @@ defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
class Seed_Message
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->fhc =& get_instance();
|
||||
}
|
||||
|
||||
public function seed($limit = 25)
|
||||
{
|
||||
echo "Seeding $limit messages ";
|
||||
$this->fhc =& get_instance();
|
||||
$this->fhc->load->model('system/Recipient_model');
|
||||
$this->fhc->Recipient_model->setUid('admin');
|
||||
$this->fhc->load->model('system/Message_model');
|
||||
|
||||
for ($i = 0; $i < $limit; $i++)
|
||||
for ($i = 0; $i < $limit; $i++)
|
||||
{
|
||||
echo ".";
|
||||
|
||||
@@ -23,17 +23,18 @@ class Seed_Message
|
||||
'body' => $this->fhc->faker->text(400),
|
||||
'person_id' => $i%5+1
|
||||
);
|
||||
$message = $this->fhc->Message_model->insert($data);
|
||||
$this->fhc->db->insert('public.tbl_msg_message', $data);
|
||||
$message_id = $this->fhc->db->insert_id();
|
||||
|
||||
$data = array
|
||||
(
|
||||
'message_id' => $message->retval,
|
||||
'message_id' => $message_id,
|
||||
'person_id' => $i%5+2,
|
||||
'insertvon' => 'seed'
|
||||
);
|
||||
$recipient = $this->fhc->Recipient_model->insert($data);
|
||||
if ($recipient->error)
|
||||
show_error($recipient->retval);
|
||||
$recipient = $this->fhc->db->insert('public.tbl_msg_recipient', $data);
|
||||
if (!$recipient)
|
||||
show_error($recipient);
|
||||
//for ($j=1; $j<10; $j++)
|
||||
// $this->fhc->Message_model->addRecipient($thread->retval, $i+$j+5);
|
||||
}
|
||||
@@ -44,7 +45,7 @@ class Seed_Message
|
||||
|
||||
public function truncate()
|
||||
{
|
||||
//$this->db->query('EMPTY TABLE public.person;');
|
||||
$this->fhc->db->query('DELETE FROM public.msg_message;');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
<?php
|
||||
/* Copyright (C) 2016 fhcomplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*
|
||||
* Beschreibung:
|
||||
* Dieses Skript prueft die gesamte Systemumgebung und sollte nach jedem Update gestartet werden.
|
||||
* Geprueft wird: die Datenbank per "dbupdate_VERSION.php" auf aktualitaet, dabei werden fehlende Attribute angelegt.
|
||||
*/
|
||||
require_once('../config/system.config.inc.php');
|
||||
require_once('../include/basis_db.class.php');
|
||||
require_once('../version.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
|
||||
// Datenbank Verbindung
|
||||
$db = new basis_db();
|
||||
echo '<html>
|
||||
<head>
|
||||
<title>CheckRoles</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<link rel="stylesheet" href="../skin/vilesci.css" type="text/css" />
|
||||
</head>
|
||||
<body>';
|
||||
|
||||
$uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
if(!$rechte->isBerechtigt('admin'))
|
||||
{
|
||||
exit('Sie haben keine Berechtigung');
|
||||
}
|
||||
|
||||
echo '<H2>Check and set roles!</H2>';
|
||||
|
||||
$neue=false;
|
||||
$data = array
|
||||
(
|
||||
array
|
||||
(
|
||||
'rolle_kurzbz' => 'admin',
|
||||
'berechtigung' => array
|
||||
(
|
||||
'admin', 'assistenz', 'basis/addon', 'basis/ampel', 'basis/ampeluebersicht', 'basis/berechtigung', 'basis/betriebsmittel', 'basis/cms', 'basis/cms_review', 'basis/cms_sperrfreigabe', 'basis/cronjob', 'basis/dms', 'basis/fas', 'basis/ferien', 'basis/fhausweis','basis/firma', 'basis/infoscreen', 'basis/moodle', 'basis/moodle','basis/news', 'basis/notiz', 'basis/organisationseinheit', 'basis/ort', 'basis/person', 'basis/planner', 'basis/service', 'basis/statistik', 'basis/studiengang', 'basis/tempus', 'basis/testtool', 'basis/variable', 'basis/vilesci', 'buchung/typen', 'buchung/mitarbeiter', 'inout/incoming', 'inout/outgoing', 'inout/uebersicht', 'lehre', 'lehre/abgabetool', 'lehre/freifach', 'lehre/lehrfach', 'lehre/lehrveranstaltung', 'lehre/lvplan', 'lehre/lvinfo', 'lehre/pruefungsanmeldungAdmin', 'lehre/pruefungsbeurteilung', 'lehre/pruefungsbeurteilungAdmin', 'lehre/pruefungsterminAdmin', 'lehre/pruefungsfenster', 'lehre/reihungstest', 'lehre/reservierung', 'lehre/studienordnung', 'lehre/studienordnungInaktiv', 'lehre/studienplan', 'lehre/vorrueckung', 'lv-plan', 'lv-plan/gruppenentfernen', 'lv-plan/lektorentfernen', 'mitarbeiter', 'mitarbeiter/bankdaten', 'mitarbeiter/personalnummer', 'mitarbeiter/stammdaten', 'mitarbeiter/urlaube', 'mitarbeiter/zeitsperre', 'news', 'planner', 'preinteressent', 'raumres', 'reihungstest', 'sdTools', 'soap/lv', 'soap/lvplan', 'soap/mitarbeiter', 'soap/ort', 'soap/pruefungsfenster', 'soap/student', 'soap/studienordnung', 'soap/benutzer', 'soap/buchungen', 'student/bankdaten', 'student/anrechnung', 'student/anwesenheit', 'student/dokumente', 'student/noten', 'system/phrase', 'system/vorlage', 'system/vorlagestudiengang', 'student/stammdaten', 'student/vorrueckung', 'system/developer', 'system/loginasuser', 'user', 'veranstaltung', 'vertrag/mitarbeiter', 'vertrag/typen', 'wawi/berichte', 'wawi/bestellung', 'wawi/bestellung_advanced', 'wawi/budget', 'wawi/delete_advanced', 'wawi/firma', 'wawi/freigabe', 'wawi/freigabe_advanced', 'wawi/inventar', 'wawi/konto', 'wawi/kostenstelle', 'wawi/rechnung', 'wawi/rechnung_freigeben', 'wawi/rechnung_transfer', 'wawi/storno'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
foreach ($data as $rb)
|
||||
foreach ($rb['berechtigung'] as $b)
|
||||
{
|
||||
$qry = 'SELECT * FROM system.tbl_rolleberechtigung
|
||||
WHERE rolle_kurzbz='.$db->db_add_param($rb['rolle_kurzbz']).'
|
||||
AND berechtigung_kurzbz='.$db->db_add_param($b);
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
// Nicht vorhanden -> anlegen
|
||||
$qry_insert="INSERT INTO system.tbl_rolleberechtigung (rolle_kurzbz, berechtigung_kurzbz, art) VALUES(".
|
||||
$db->db_add_param($rb['rolle_kurzbz']).','.
|
||||
$db->db_add_param($b).", 'suid');";
|
||||
|
||||
if($db->db_query($qry_insert))
|
||||
{
|
||||
echo '<br>'.$rb['rolle_kurzbz'].' -> '.$b.' <b>hinzugefügt</b>';
|
||||
$neue=true;
|
||||
}
|
||||
else
|
||||
echo '<br><span class="error">Fehler: '.$rb['rolle_kurzbz'].' -> '.$b.' hinzufügen nicht möglich</span>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($neue==false)
|
||||
echo '<br>Keine neuen Berechtigungen fuer eine Rolle!';
|
||||
|
||||
echo '</body></html>';
|
||||
?>
|
||||
@@ -97,8 +97,6 @@ $berechtigungen = array(
|
||||
array('basis/testtool','Administrationseite, Gebiete löschen/zurücksetzen'),
|
||||
array('basis/variable','Variablenverwaltung'),
|
||||
array('basis/vilesci','Grundrecht, um in VileSci irgendwelche Menüpunkte zu sehen'),
|
||||
array('basis/vorlage','Erstellen und Bearbeiten von Vorlagen'),
|
||||
array('basis/vorlagestudiengang','Bearbeiten der Texte zu den Vorlagen'),
|
||||
array('buchung/typen','Verwaltung von Buchungstypen'),
|
||||
array('buchung/mitarbeiter','Verwaltung von Buchungen fuer Mitarbeiter'),
|
||||
array('inout/incoming','Incomingverwaltung'),
|
||||
@@ -159,6 +157,9 @@ $berechtigungen = array(
|
||||
array('student/vorrueckung','Studentenvorrückung'),
|
||||
array('system/developer','Anzeige zusätzlicher Developerinfos'),
|
||||
array('system/loginasuser','Berechtigung zum Einloggen als anderer User'),
|
||||
array('system/phrase','Bearbeiten von Textphrasen'),
|
||||
array('system/vorlage','Erstellen und Bearbeiten von Vorlagen'),
|
||||
array('system/vorlagestudiengang','Bearbeiten der Texte zu den Vorlagen'),
|
||||
array('user','Normale User ohne besonere Rechte'),
|
||||
array('veranstaltung','Berechtigungen fuer Veranstaltungen wie Jahresplan'),
|
||||
array('vertrag/mitarbeiter','Verwalten von Vertraegen'),
|
||||
|
||||
@@ -28697,7 +28697,6 @@ INSERT INTO tbl_gemeinde VALUES (20674, 1210, 'Wien', 17243, 'Wien,Floridsdorf',
|
||||
INSERT INTO tbl_gemeinde VALUES (20675, 1220, 'Wien', 17244, 'Wien,Donaustadt', 9, 'W', 90001);
|
||||
INSERT INTO tbl_gemeinde VALUES (20676, 1230, 'Wien', 17245, 'Wien,Liesing', 9, 'W', 90001);
|
||||
|
||||
|
||||
--
|
||||
-- Data for Name: tbl_hauptberuf; Type: TABLE DATA; Schema: bis; Owner: postgres
|
||||
--
|
||||
|
||||
Reference in New Issue
Block a user