1 Commits

Author SHA1 Message Date
S170H
fcba35dc00 M6 Abschluss 2024-01-19 18:57:43 +01:00
8 changed files with 143 additions and 73 deletions

32
.idea/workspace.xml generated
View File

@@ -4,10 +4,12 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="6dcbe3e4-9d68-41d8-8c39-5cfbe5cd4a21" name="Changes" comment="Alles">
<list default="true" id="6dcbe3e4-9d68-41d8-8c39-5cfbe5cd4a21" name="Changes" comment="Alles bis auf paar sachen">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M6/emensamobile/app/Models/bewertungen.php" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/app/Models/bewertungen.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M6/emensamobile/public/css/style.css" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/public/css/style.css" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M6/emensamobile/resources/views/main/bewertung.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/resources/views/main/bewertung.blade.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/M6/emensamobile/resources/views/main/index.blade.php" beforeDir="false" afterPath="$PROJECT_DIR$/M6/emensamobile/resources/views/main/index.blade.php" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -64,7 +66,7 @@
&quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
&quot;database.data.extractors.current.export.id&quot;: &quot;Comma-separated (CSV)_id&quot;,
&quot;git-widget-placeholder&quot;: &quot;dev/m6__robert&quot;,
&quot;last_opened_file_path&quot;: &quot;C:/Users/rober/Documents/GitHub/DBWT-Praktika/M6/Dossier&quot;,
&quot;last_opened_file_path&quot;: &quot;C:/Users/rober/Documents/GitHub/DBWT-Praktika/M6/emensamobile/public&quot;,
&quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
&quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
&quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
@@ -81,11 +83,11 @@
}</component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="C:\Users\rober\Documents\GitHub\DBWT-Praktika\M6\Dossier" />
<recent name="C:\Users\rober\Documents\GitHub\DBWT-Praktika\M6\emensamobile\public" />
<recent name="C:\Users\rober\Documents\GitHub\DBWT-Praktika\M6\emensamobile\resources\views" />
<recent name="C:\Users\rober\Documents\GitHub\DBWT-Praktika\M6\emensamobile\app\Models" />
<recent name="C:\Users\rober\Documents\GitHub\DBWT-Praktika\M6\emensamobile\resources\css" />
<recent name="C:\Users\rober\Documents\GitHub\DBWT-Praktika\M6\emensamobile\app\Http\Controllers" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\Users\rober\Documents\GitHub\DBWT-Praktika\M6\emensamobile\app\Models\Anmeldung" />
@@ -112,8 +114,7 @@
<workItem from="1705492444098" duration="553000" />
<workItem from="1705493014644" duration="21207000" />
<workItem from="1705627589042" duration="2719000" />
<workItem from="1705630465063" duration="13412000" />
<workItem from="1706091740788" duration="2624000" />
<workItem from="1705630465063" duration="13023000" />
</task>
<task id="LOCAL-00001" summary="Webseite ohne Anmeldung läuft auf laravel">
<option name="closed" value="true" />
@@ -179,23 +180,7 @@
<option name="project" value="LOCAL" />
<updated>1705679416721</updated>
</task>
<task id="LOCAL-00009" summary="Alles bis auf paar sachen">
<option name="closed" value="true" />
<created>1705682140622</created>
<option name="number" value="00009" />
<option name="presentableId" value="LOCAL-00009" />
<option name="project" value="LOCAL" />
<updated>1705682140622</updated>
</task>
<task id="LOCAL-00010" summary="Alles">
<option name="closed" value="true" />
<created>1705683562748</created>
<option name="number" value="00010" />
<option name="presentableId" value="LOCAL-00010" />
<option name="project" value="LOCAL" />
<updated>1705683562748</updated>
</task>
<option name="localTasksCounter" value="11" />
<option name="localTasksCounter" value="9" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@@ -209,7 +194,6 @@
<MESSAGE value="Aufgabe 1" />
<MESSAGE value="Bewertungs model" />
<MESSAGE value="Alles bis auf paar sachen" />
<MESSAGE value="Alles" />
<option name="LAST_COMMIT_MESSAGE" value="Alles" />
<option name="LAST_COMMIT_MESSAGE" value="Alles bis auf paar sachen" />
</component>
</project>

View File

@@ -2,7 +2,7 @@
return [
'host' => 'localhost', // 'localhost' or '127.0.0.1'
'user' => 'root', // '<yourusername>'
'password' => 'admin', // '<yourpassword>'
'password' => 'wm#32', // '<yourpassword>'
'database' => 'emensawerbeseite',
// optionally: set port below if it differs from the default 3306
// 'port' => 13306 // !! this is not your webserver port, but the mariadb port

View File

@@ -54,6 +54,20 @@ class MainController extends BaseController
if ($data["gerichtid"] != null) {
$gericht = Gerichte::query()->find($data["gerichtid"]);
$gerichtName = $gericht->getGerichtName();
$bildname = $gericht->getBildname();
return view('main.bewertung', [
"gerichtName" => $gerichtName,
"bildname" => $bildname,
"data" => $data,
'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"
]);
/*
$gericht = new Gerichte();
$g = $gericht->db_gericht_bewertung($data["gerichtid"]);
@@ -62,6 +76,7 @@ class MainController extends BaseController
"data" => $data,
'url' => 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . "{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"
]);
*/
}
if($data["hervorheben"]!=null){
@@ -97,10 +112,16 @@ class MainController extends BaseController
$bemerkung = $data["bemerkung"] ?? NULL;
$benutzer = session("benutzer_id",0);
bewertungen::query()->firstOrCreate(
[
'ersteller_id' => $benutzer,
'gericht_id' => $id,
'bemerkung' => $bemerkung,
'sterne' => $sterne
]
);
$b = new bewertungen();
$check = $b->bewerten($benutzer,$id,$sterne, $bemerkung);
$bewertungen = $b->bewertungen();
return redirect('/bewertung');
}
@@ -117,20 +138,20 @@ class MainController extends BaseController
]);
}
$b = new bewertungen();
if($rd->isMethod("get")) {
$data = $rd;
if ($data["loschen"] != null) {
$check = $b->loschen($data["loschen"]);
bewertungen::destroy($data["loschen"]);
//$b->delete();
return redirect('/meinebewertungen');
}
}
$b = new bewertungen();
$meine = $b->meine_bewertungen($benutzer_id);
return view('main.meine_bewertungen', [

View File

@@ -11,9 +11,67 @@ use Illuminate\Support\Facades\Session;
class Gerichte extends Model
{
protected $table = 'gericht';
protected $primaryKey = 'id';
public $incrementing = true;
use HasFactory;
function getPreisIntern(){
return $this->formatPreis($this->attributes['preisintern']);
}
function getPreisExtern(){
return $this->formatPreis($this->attributes['preisextern']);
}
private function formatPreis($unformatted){
return number_format($unformatted, 2, ',');
}
function getBildname(){
return $this->attributes['bildname'];
}
function getGerichtName(){
return $this->attributes['name'];
}
function setVegetarischAttribut($value){
if ($value == 1 || $value == 0){
$this->attributes['vegetarisch'] = $value;
return;
}
$parsed = $this->parse_wahrheitswert($value) ;
$this->attributes['vegetarisch'] = $parsed;
}
function setVeganAttribut($value){
if ($value == 1 || $value == 0){
$this->attributes['vegan'] = $value;
return;
}
$parsed = $this->parse_wahrheitswert($value) ;
$this->attributes['vegetarisch'] = $parsed;
}
private function parse_wahrheitswert($value){
$value = strtolower(str_replace(" ", "", $value));
if ($value == "yes" || $value == "ja"){
return 1;
}
elseif ($value == "no" || $value == "nein"){
return 0;
}
else{
trigger_error("Could not parse value");
}
// Wenn versucht wird das in die Datenbank zu schreiben sollte es eine Fehlermeldung geben
}
function db_gericht_select_karte()
{

View File

@@ -10,6 +10,21 @@ use Illuminate\Support\Facades\Session;
class bewertungen extends Model
{
protected $table = 'bewertungen';
protected $primaryKey = 'id';
public $incrementing = true;
protected $attributes = [
'hervorgehoben' => 0
];
public $fillable = [
'ersteller_id',
'gericht_id',
'bemerkung',
'sterne',
'hervorgehoben'
];
public $timestamps = false;
use HasFactory;
function bewerten(int $ersteller, int $gericht, int $sterne, string $bemerkung){
@@ -77,8 +92,13 @@ class bewertungen extends Model
return 0;
}
$sql = "UPDATE bewertungen SET hervorgehoben =1 WHERE id =" .$id;
DB::update($sql);
$this->query()->updateOrCreate(
['id'=>$id],
['hervorgehoben' => 1]
);
// $sql = "UPDATE bewertungen SET hervorgehoben =1 WHERE id =" .$id;
// DB::update($sql);
return 1;
@@ -90,8 +110,13 @@ class bewertungen extends Model
return 0;
}
$sql = "UPDATE bewertungen SET hervorgehoben =0 WHERE id =" .$id;
DB::update($sql);
$this->query()->updateOrCreate(
['id'=>$id],
['hervorgehoben' => 0]
);
// $sql = "UPDATE bewertungen SET hervorgehoben =0 WHERE id =" .$id;
// DB::update($sql);
return 1;

View File

@@ -4,31 +4,15 @@
@media screen and (max-width: 600px) {
.bewertungen_mobile::after {
content: '\A' !important;
white-space: pre !important;
content: '\A';
white-space: pre;
}
body{
background-color: #0a3622;
}
#form{
content: '\A';
white-space: pre;
}
#sterne{
content: '\A';
white-space: pre;
}
.grid {
display: grid;
grid-template-columns: auto auto auto !important;
}
.grid_bewertung {
display: grid;
grid-template-columns: 1fr!important;
grid-template-columns: 0px 300px auto 0px;
}
}
@@ -40,7 +24,7 @@
.grid_bewertung {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-template-columns: 200px 300px auto 200px;
}
img {

View File

@@ -39,11 +39,8 @@
@if(isset($admin))
@endif
@if(isset($gericht))
@if(isset($gerichtName, $bildname))
<?php
$gericht = $gericht[0];
$bildname = $gericht->bildname;
if ($bildname == Null) {
$bildname = "00_image_missing.jpg";
@@ -53,21 +50,21 @@
?>
<div class="grid_bewertung">
<div class="leer">
<div class="grid_bewertung">
<div>
</div>
<div class="image">
<img class="bewertung" src="{{$bildname}}" alt="Bild vom Gericht" width= "10" height="10">
</div>
<div>
<h1>{{$gericht->name}}</h1>
</div>
<div>
<img class="bewertung" src="{{$bildname}}" alt="Bild vom Gericht" width= "10" height="10">
</div>
<div>
<h1>{{$gerichtName}}</h1>
<div class="bewertungen_mobile">
<form id ="form" action="/bewertung_abschicken" method="post">
<form action="/bewertung_abschicken" method="post">
@method("post")
@csrf <!-- {{ csrf_field() }} -->
<label id="label1" for="sterne">Sterne 1-4</label>
<label for="sterne">Sterne 1-4</label>
<input id="sterne" name="sterne" type="number" placeholder="1-4" required maxlength="4">
<label for="Bemerkung">Bemerkung</label>
@@ -79,7 +76,7 @@
</form>
</div>
</div>
<div class = leer>
<div>
</div>
</div>

View File

@@ -76,10 +76,11 @@
foreach ($result_sql_gerichte as $row_gerichte) {
$preisintern = number_format($row_gerichte->preisintern, 2, ',', '.');
$preisextern = number_format($row_gerichte->preisextern, 2, ',', '.');
$gericht = App\Models\Gerichte::query()->find($row_gerichte->id);
$preisintern = $gericht->getPreisIntern();
$preisextern = $gericht->getPreisExtern();
$bildname = $row_gerichte->bildname;
$bildname = $gericht->getBildname();
if ($bildname == Null) {
$bildname = "00_image_missing.jpg";