diff --git a/src/structure/components/com_sportsmanager/admin.php b/src/structure/components/com_sportsmanager/admin.php index cd8e290..2fca482 100644 --- a/src/structure/components/com_sportsmanager/admin.php +++ b/src/structure/components/com_sportsmanager/admin.php @@ -6968,7 +6968,7 @@ function adminOrdnungsstrafen(): void $db = getDatabase(); $jInput = Factory::getContainer()->get(SiteApplication::class)->input; - if (!benutzerZugriff("mannschaftswettbewerb_aendern")) + if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator()) keinZugriff(); $filter['saison'] = $jInput->get('filter_saison_id', 0, 'INT'); @@ -7045,9 +7045,6 @@ function adminEditOrdnungsstrafe(): void $db = getDatabase(); $jInput = Factory::getContainer()->get(SiteApplication::class)->input; - if (!benutzerZugriff("mannschaftswettbewerb_aendern")) - keinZugriff(); - $id = $jInput->get('id', 0, 'INT'); $begegnungid = $jInput->get('begegnungid', 0, 'INT'); $user_id = isExternalDatabase() ? 0 : (isJson() ? getUserID() : Factory::getContainer()->get(SiteApplication::class)->getIdentity()->id); @@ -7096,6 +7093,9 @@ function adminEditOrdnungsstrafe(): void $query .= "ORDER BY t1.regelwerke_id, t1.verstoesse_id;"; $verstoesse = loadObjectList($db, $query); + if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator($begegnungen[0]->veranstaltung_id)) + keinZugriff(); + HTML_sportsmanager_admin::adminEditOrdnungsstrafe($row,$begegnungen[0],$verstoesse,$aussteller[0]); } @@ -7104,7 +7104,7 @@ function adminEditOrdnungsstrafe(): void $db = getDatabase(); $jInput = Factory::getContainer()->get(SiteApplication::class)->input; - if (!benutzerZugriff("mannschaftswettbewerb_aendern")) + if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator()) keinZugriff(); if ($jInput->get('cancel', false, 'BOOL')) { @@ -7185,7 +7185,7 @@ function adminEditOrdnungsstrafe(): void $db = getDatabase(); $jInput = Factory::getContainer()->get(SiteApplication::class)->input; - if (!benutzerZugriff("mannschaftswettbewerb_aendern")) + if (!benutzerZugriff("mannschaftswettbewerb_aendern") && !benutzerVeranstaltungModerator()) keinZugriff(); $id = $jInput->get('id', 0, 'INT'); @@ -9178,7 +9178,10 @@ function adminBegegnungen(): void $query = "SELECT * FROM #__sportsmanager_verschieberegel WHERE verschieberegel_id = '$veranstaltung->verschieberegel_id'"; $verschieberegeln = loadObjectList($db, $query); - $verschieben_admin = $verschieberegeln[0]->verband_berechtigt; + $verschieben_admin = 0; + if (!empty($verschieberegeln) && benutzerZugriff("verschieberegeln_aendern")){ + $verschieben_admin = $verschieberegeln[0]->verband_berechtigt; + } $modus_id = $veranstaltung->modus_id; $query = "SELECT * FROM #__sportsmanager_teamspiel_modus WHERE teamspiel_modus_id = $modus_id"; diff --git a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php index d36f026..63373c2 100644 --- a/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php +++ b/src/structure/components/com_sportsmanager/views/sportsmanager/view_admin.php @@ -205,7 +205,7 @@ class HTML_sportsmanager_admin self::checkZeilenumbruch($Spalte_Nr, $max_Spalten); } - if (benutzerZugriff("mannschaftswettbewerb_aendern") && einstellungswert("ordnungsstrafen_verwenden")) { + if ((benutzerZugriff("mannschaftswettbewerb_aendern") || benutzerVeranstaltungModerator()) && einstellungswert("ordnungsstrafen_verwenden")) { ?>
| @@ -7340,15 +7341,13 @@ class HTML_sportsmanager_admin | status); ?> | -X - - + | + X + M - |