mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 20:29:29 +00:00
moved credit points check from cours registration to exam registration
This commit is contained in:
@@ -67,20 +67,19 @@ switch($method)
|
||||
$data = loadTermine();
|
||||
break;
|
||||
case 'saveAnmeldung':
|
||||
$student_uid = filter_input(INPUT_POST,"uid");
|
||||
if($student_uid !== "" && !is_null($student_uid))
|
||||
{
|
||||
$uid = $student_uid;
|
||||
}
|
||||
|
||||
if($student_uid === "")
|
||||
{
|
||||
$data['result']="";
|
||||
$data['error']='true';
|
||||
$data['errormsg']='Studenten UID fehlt.';
|
||||
break;
|
||||
}
|
||||
$student_uid = filter_input(INPUT_POST,"uid");
|
||||
if($student_uid !== "" && !is_null($student_uid))
|
||||
{
|
||||
$uid = $student_uid;
|
||||
}
|
||||
|
||||
if($student_uid === "")
|
||||
{
|
||||
$data['result']="";
|
||||
$data['error']='true';
|
||||
$data['errormsg']='Studenten UID fehlt.';
|
||||
break;
|
||||
}
|
||||
$data = saveAnmeldung($aktStudiensemester, $uid);
|
||||
break;
|
||||
case 'getAllPruefungen':
|
||||
@@ -142,60 +141,60 @@ function getPruefungByLv($aktStudiensemester = null, $uid = null)
|
||||
$lvIds = array();
|
||||
foreach($lehrveranstaltungen->lehrveranstaltungen as $lvs)
|
||||
{
|
||||
array_push($lvIds, $lvs->lehrveranstaltung_id);
|
||||
array_push($lvIds, $lvs->lehrveranstaltung_id);
|
||||
}
|
||||
$lehrveranstaltungen=$lvIds;
|
||||
$pruefung = new pruefungCis();
|
||||
if($pruefung->getPruefungByLv($lehrveranstaltungen))
|
||||
{
|
||||
$pruefungen = array();
|
||||
foreach($pruefung->lehrveranstaltungen as $key=>$lv)
|
||||
{
|
||||
$lehrveranstaltung = new lehrveranstaltung($lv->lehrveranstaltung_id);
|
||||
$lehrveranstaltung = $lehrveranstaltung->cleanResult();
|
||||
$lehreinheit = new lehreinheit();
|
||||
$lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester);
|
||||
$lehreinheiten = $lehreinheit->lehreinheiten;
|
||||
$prf = new stdClass();
|
||||
$temp = new pruefungCis($lv->pruefung_id);
|
||||
$temp->getTermineByPruefung($lv->pruefung_id);
|
||||
for($i=0; $i < sizeof($temp->termine); $i++)
|
||||
{
|
||||
$termin = new pruefungstermin($temp->termine[$i]->pruefungstermin_id);
|
||||
$temp->termine[$i]->teilnehmer = $termin->getNumberOfParticipants();
|
||||
}
|
||||
$prf->pruefung = $temp;
|
||||
$prf->lehrveranstaltung = $lehrveranstaltung;
|
||||
if(!empty($lehreinheiten))
|
||||
{
|
||||
$lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id);
|
||||
$oe = new organisationseinheit($lveranstaltung->oe_kurzbz);
|
||||
$prf->organisationseinheit = $oe->bezeichnung;
|
||||
array_push($pruefungen, $prf);
|
||||
}
|
||||
}
|
||||
$anmeldung = new pruefungsanmeldung();
|
||||
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
|
||||
$anmeldungsIds = array();
|
||||
foreach($anmeldungen as $anm)
|
||||
{
|
||||
$a = new stdClass();
|
||||
$a->pruefungsanmeldung_id = $anm->pruefungsanmeldung_id;
|
||||
$a->pruefungstermin_id = $anm->pruefungstermin_id;
|
||||
$a->lehrveranstaltung_id = $anm->lehrveranstaltung_id;
|
||||
array_push($anmeldungsIds, $a);
|
||||
}
|
||||
$return = new stdClass();
|
||||
$return->pruefungen = $pruefungen;
|
||||
$return->anmeldungen = $anmeldungsIds;
|
||||
$data['result']=$return;
|
||||
$data['error']='false';
|
||||
$data['errormsg']='';
|
||||
$pruefungen = array();
|
||||
foreach($pruefung->lehrveranstaltungen as $key=>$lv)
|
||||
{
|
||||
$lehrveranstaltung = new lehrveranstaltung($lv->lehrveranstaltung_id);
|
||||
$lehrveranstaltung = $lehrveranstaltung->cleanResult();
|
||||
$lehreinheit = new lehreinheit();
|
||||
$lehreinheit->load_lehreinheiten($lehrveranstaltung[0]->lehrveranstaltung_id, $aktStudiensemester);
|
||||
$lehreinheiten = $lehreinheit->lehreinheiten;
|
||||
$prf = new stdClass();
|
||||
$temp = new pruefungCis($lv->pruefung_id);
|
||||
$temp->getTermineByPruefung($lv->pruefung_id);
|
||||
for($i=0; $i < sizeof($temp->termine); $i++)
|
||||
{
|
||||
$termin = new pruefungstermin($temp->termine[$i]->pruefungstermin_id);
|
||||
$temp->termine[$i]->teilnehmer = $termin->getNumberOfParticipants();
|
||||
}
|
||||
$prf->pruefung = $temp;
|
||||
$prf->lehrveranstaltung = $lehrveranstaltung;
|
||||
if(!empty($lehreinheiten))
|
||||
{
|
||||
$lveranstaltung = new lehrveranstaltung($lehreinheiten[0]->lehrfach_id);
|
||||
$oe = new organisationseinheit($lveranstaltung->oe_kurzbz);
|
||||
$prf->organisationseinheit = $oe->bezeichnung;
|
||||
array_push($pruefungen, $prf);
|
||||
}
|
||||
}
|
||||
$anmeldung = new pruefungsanmeldung();
|
||||
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
|
||||
$anmeldungsIds = array();
|
||||
foreach($anmeldungen as $anm)
|
||||
{
|
||||
$a = new stdClass();
|
||||
$a->pruefungsanmeldung_id = $anm->pruefungsanmeldung_id;
|
||||
$a->pruefungstermin_id = $anm->pruefungstermin_id;
|
||||
$a->lehrveranstaltung_id = $anm->lehrveranstaltung_id;
|
||||
array_push($anmeldungsIds, $a);
|
||||
}
|
||||
$return = new stdClass();
|
||||
$return->pruefungen = $pruefungen;
|
||||
$return->anmeldungen = $anmeldungsIds;
|
||||
$data['result']=$return;
|
||||
$data['error']='false';
|
||||
$data['errormsg']='';
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$pruefung->errormsg;
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$pruefung->errormsg;
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
@@ -387,26 +386,26 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
|
||||
$addon = new addon();
|
||||
foreach ($addon->aktive_addons as $a)
|
||||
{
|
||||
if($a === "ku")
|
||||
{
|
||||
require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php';
|
||||
switch($lehrveranstaltung->oe_kurzbz)
|
||||
{
|
||||
case $fakultaeten[0]["fakultaet"]:
|
||||
$semCounter = $fakultaeten[0]["sem"];
|
||||
break;
|
||||
case $fakultaeten[1]["fakultaet"]:
|
||||
$semCounter = $fakultaeten[1]["sem"];
|
||||
break;
|
||||
default:
|
||||
$semCounter = 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$semCounter = 99;
|
||||
}
|
||||
if($a === "ku")
|
||||
{
|
||||
require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php';
|
||||
switch($lehrveranstaltung->oe_kurzbz)
|
||||
{
|
||||
case $fakultaeten[0]["fakultaet"]:
|
||||
$semCounter = $fakultaeten[0]["sem"];
|
||||
break;
|
||||
case $fakultaeten[1]["fakultaet"]:
|
||||
$semCounter = $fakultaeten[1]["sem"];
|
||||
break;
|
||||
default:
|
||||
$semCounter = 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$semCounter = 99;
|
||||
}
|
||||
}
|
||||
$i=0;
|
||||
$stdsem_lv_besuch = null;
|
||||
@@ -442,107 +441,132 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
|
||||
// Defaulteinstellung für Prüfungstypen - schauen, ob bereits aus KTU-Addon geladen
|
||||
if(!isset($pruefungstyp_kurzbzArray))
|
||||
$pruefungstyp_kurzbzArray = array("Termin1","Termin2","kommPruef");
|
||||
|
||||
if(isset($pruefungstyp_kurzbzArray))
|
||||
{
|
||||
if($anzahlPruefungen < count($pruefungstyp_kurzbzArray))
|
||||
{
|
||||
$pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen];
|
||||
}
|
||||
if($anzahlPruefungen < count($pruefungstyp_kurzbzArray))
|
||||
{
|
||||
$pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen];
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$pruefungstyp_kurzbz = null;
|
||||
$pruefungstyp_kurzbz = null;
|
||||
}
|
||||
|
||||
foreach($pruefung->result as $prf)
|
||||
{
|
||||
$note = new note($prf->note);
|
||||
if($note->note === $noteCode_uef)
|
||||
{
|
||||
$pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id);
|
||||
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
|
||||
$pf = new pruefungCis($pruefungstermin->pruefung_id);
|
||||
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
|
||||
$studiensemester = new studiensemester();
|
||||
$stdsem = $studiensemester->getaktorNext();
|
||||
$i=0;
|
||||
while($i<2)
|
||||
{
|
||||
if($stdsem === $pruefungsfenster->studiensemester_kurzbz)
|
||||
$note = new note($prf->note);
|
||||
if($note->note === $noteCode_uef)
|
||||
{
|
||||
$anmeldung_moeglich = false;
|
||||
$pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id);
|
||||
$pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id);
|
||||
$pf = new pruefungCis($pruefungstermin->pruefung_id);
|
||||
$pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id);
|
||||
$studiensemester = new studiensemester();
|
||||
$stdsem = $studiensemester->getaktorNext();
|
||||
$i=0;
|
||||
while($i<2)
|
||||
{
|
||||
if($stdsem === $pruefungsfenster->studiensemester_kurzbz)
|
||||
{
|
||||
$anmeldung_moeglich = false;
|
||||
}
|
||||
$stdsem = $studiensemester->getPreviousFrom($stdsem);
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche)
|
||||
{
|
||||
$anmeldung_moeglich = false;
|
||||
}
|
||||
}
|
||||
$stdsem = $studiensemester->getPreviousFrom($stdsem);
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche)
|
||||
{
|
||||
$anmeldung_moeglich = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if($anmeldung_moeglich)
|
||||
{
|
||||
if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL)
|
||||
{
|
||||
$pruefung = new pruefungCis();
|
||||
$reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]);
|
||||
$anmeldung = new pruefungsanmeldung();
|
||||
$anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
|
||||
$anmeldung->pruefungstermin_id = $_REQUEST["termin_id"];
|
||||
$anmeldung->wuensche = $_REQUEST["bemerkung"];
|
||||
$anmeldung->uid = $uid;
|
||||
$anmeldung->reihung = $reihung+1;
|
||||
$anmeldung->status_kurzbz = "angemeldet";
|
||||
$anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz;
|
||||
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
|
||||
|
||||
$konto = new konto();
|
||||
$creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
|
||||
|
||||
if($creditpoints !== false)
|
||||
{
|
||||
if($creditpoints < $lehrveranstaltung->ects)
|
||||
if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL)
|
||||
{
|
||||
$data['error'] = 'true';
|
||||
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
$pruefung = new pruefungCis();
|
||||
$reihung = $pruefung->getLastOfReihung($_REQUEST["termin_id"]);
|
||||
$anmeldung = new pruefungsanmeldung();
|
||||
$anmeldung->lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"];
|
||||
$anmeldung->pruefungstermin_id = $_REQUEST["termin_id"];
|
||||
$anmeldung->wuensche = $_REQUEST["bemerkung"];
|
||||
$anmeldung->uid = $uid;
|
||||
$anmeldung->reihung = $reihung+1;
|
||||
$anmeldung->status_kurzbz = "angemeldet";
|
||||
$anmeldung->pruefungstyp_kurzbz = $pruefungstyp_kurzbz;
|
||||
$lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]);
|
||||
|
||||
//Kollisionsprüfung
|
||||
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
|
||||
foreach($anmeldungen as $temp)
|
||||
{
|
||||
$datum = new datum();
|
||||
if(($datum->between($termin->von, $termin->bis, $temp->von)) || ($datum->between($termin->von, $termin->bis, $temp->bis)))
|
||||
{
|
||||
$data['result'][$temp->pruefungstermin_id] = "true";
|
||||
$data['error'] = 'true';
|
||||
$data['errormsg'] = $p->t('pruefung/kollisionMitAndererAnmeldung');
|
||||
// $konto = new konto();
|
||||
// $creditpoints = $konto->getCreditPoints($uid, $aktStudiensemester);
|
||||
//
|
||||
// if($creditpoints !== false)
|
||||
// {
|
||||
// if($creditpoints <= $lehrveranstaltung->ects)
|
||||
// {
|
||||
// $data['error'] = 'true';
|
||||
// $data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
|
||||
// return $data;
|
||||
// }
|
||||
// }
|
||||
|
||||
//Kollisionsprüfung und Prüfung auf ausreichen Creditpoints
|
||||
$anmeldungen = $anmeldung->getAnmeldungenByStudent($uid, $aktStudiensemester);
|
||||
|
||||
if($anmeldungen !== false)
|
||||
{
|
||||
$ects = 0;
|
||||
foreach($anmeldungen as $temp)
|
||||
{
|
||||
$lehrveranstaltung = new lehrveranstaltung($temp->lehrveranstaltung_id);
|
||||
$ects += $lehrveranstaltung->ects;
|
||||
|
||||
$datum = new datum();
|
||||
if(($datum->between($termin->von, $termin->bis, $temp->von)) || ($datum->between($termin->von, $termin->bis, $temp->bis)))
|
||||
{
|
||||
$data['result'][$temp->pruefungstermin_id] = "true";
|
||||
$data['error'] = 'true';
|
||||
$data['errormsg'] = $p->t('pruefung/kollisionMitAndererAnmeldung');
|
||||
}
|
||||
}
|
||||
|
||||
$konto = new konto();
|
||||
$creditPoints = $konto->getCreditPointsOfStudiensemester($uid, $aktStudiensemester);
|
||||
if(($creditPoints != false) && ($ects >= ($creditPoints - $ects)))
|
||||
{
|
||||
$data['error'] = 'true';
|
||||
$data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints');
|
||||
return $data;
|
||||
}
|
||||
|
||||
if(isset($data['error']) && $data['error'] = 'true')
|
||||
{
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error'] = 'true';
|
||||
$data['errormsg'] = $anmeldung->errormsg;
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$p->t('pruefung/keineFreienPlaetzeVorhanden');
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
if(isset($data['error']) && $data['error'] = 'true')
|
||||
{
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$p->t('pruefung/keineFreienPlaetzeVorhanden');
|
||||
return $data;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich');
|
||||
return $data;
|
||||
$data['error']='true';
|
||||
$data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich');
|
||||
return $data;
|
||||
}
|
||||
|
||||
$anrechnung = new anrechnung();
|
||||
|
||||
@@ -102,14 +102,7 @@ if(isset($_GET['getAnmeldung']))
|
||||
if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem))
|
||||
{
|
||||
// User ist noch nicht angemeldet
|
||||
//Pruefen ob genug Credit Points zur Verfuegung stehen zur Anmeldung
|
||||
|
||||
$konto = new konto();
|
||||
$cp = $konto->getCreditPoints($uid, $stsem);
|
||||
if($cp===false || $cp>=$lv->ects)
|
||||
echo '<br><input type="radio" value="'.$lvid.'" name="lv"/>'.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')';
|
||||
else
|
||||
echo '<br><input type="radio" disabled="true" value="'.$lvid.'" name="lv" /><span style="color:gray;">'.$lv->bezeichnung.'</span><img src="../../../skin/images/information.png" title="'.$p->t('studienplan/zuWenigCP').'" />';
|
||||
echo '<br><input type="radio" value="'.$lvid.'" name="lv"/>'.$lv->bezeichnung.' (Anmeldung bis '.$datum->formatDatum($angebot->anmeldefenster_ende,"d.m.Y").')';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -201,25 +194,16 @@ if(isset($_POST['action']) && $_POST['action']=='anmeldung')
|
||||
|
||||
if(!$bngruppe->load($uid, $lvangebot->result[0]->gruppe_kurzbz, $stsem))
|
||||
{
|
||||
|
||||
// Pruefen ob genug CP zur Verfuegung stehen falls diese reduziert sind
|
||||
$konto = new konto();
|
||||
$cp = $konto->getCreditPoints($uid, $stsem);
|
||||
if($cp===false || $cp>=$lv->ects)
|
||||
$bngruppe->uid = $uid;
|
||||
$bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz;
|
||||
$bngruppe->studiensemester_kurzbz = $stsem;
|
||||
$bngruppe->new=true;
|
||||
if($bngruppe->save())
|
||||
{
|
||||
$bngruppe->uid = $uid;
|
||||
$bngruppe->gruppe_kurzbz = $lvangebot->result[0]->gruppe_kurzbz;
|
||||
$bngruppe->studiensemester_kurzbz = $stsem;
|
||||
$bngruppe->new=true;
|
||||
if($bngruppe->save())
|
||||
{
|
||||
echo '<span class="ok">'.$p->t('studienplan/einschreibungErfolgreich').'</span>';
|
||||
// Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird
|
||||
echo '<script>window.parent.menu.location.reload();</script>';
|
||||
}
|
||||
echo '<span class="ok">'.$p->t('studienplan/einschreibungErfolgreich').'</span>';
|
||||
// Menue neu Laden damit die LV unter Meine LV gleich angezeigt wird
|
||||
echo '<script>window.parent.menu.location.reload();</script>';
|
||||
}
|
||||
else
|
||||
echo '<span class="error">'.$p->t('studienplan/zuWenigCP').'</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -800,6 +800,51 @@ class konto extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die CreditPoints die ein Studierender für ein Studiensemester zur Verfügung hat
|
||||
* falls dieser einschraenkungen eingetragen hat. Wenn keine Einschraenkung vorhanden ist,
|
||||
* wird false zurueckgeliefert. Es werden die Creditpoint der Belastungen herangezogen.
|
||||
* Die Gegenbuchung wird nicht beruecksichtigt.
|
||||
* @return Anzahl der gekauften CreditPoints oder false falls unbeschraenkt
|
||||
*/
|
||||
public function getCreditPointsOfStudiensemester($uid, $studiensemester_kurzbz)
|
||||
{
|
||||
$qry = "SELECT sum(credit_points) as cp
|
||||
FROM
|
||||
public.tbl_konto
|
||||
JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE
|
||||
uid=".$this->db_add_param($uid)."
|
||||
AND studiensemester_kurzbz=".$this->db_add_param($studiensemester_kurzbz)."
|
||||
AND buchungsnr_verweis is null
|
||||
AND credit_points is not null";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$creditpoints = $row->cp;
|
||||
|
||||
if($creditpoints!='')
|
||||
{
|
||||
return $creditpoints;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
// keine Einschraenkung vorhanden
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Fügt zur erstellten Buchung eine Zahlungsreferenz hinzu
|
||||
|
||||
Reference in New Issue
Block a user