Travel Guide Frontend Backend

This commit is contained in:
Kevin Adametz 2020-08-07 16:00:55 +02:00
parent e6cc042aee
commit 0857a34766
681 changed files with 6680 additions and 1689 deletions

View file

@ -91,10 +91,18 @@ class ContentModalController extends Controller
case 'tree-site-content' :
return $this->actionTreeSiteContent($data);
break;
case 'add-answer-question' :
return $this->actionAddAnswerQuestion($data);
break;
case 'guide-tree-site' :
return $this->actionGuideTreeSite($data);
break;
case 'site-travel-identifier' :
return $this->actionSiteTravelIdentifier($data);
break;
}
@ -172,7 +180,7 @@ class ContentModalController extends Controller
*/
private function actionArea($data)
{
if($data['id'] == "add"){
if($data['id'] === "add"){
$value = new IQContentArea();
$value->id = "add";
$value->active = true;
@ -189,7 +197,7 @@ class ContentModalController extends Controller
private function actionAreaSection($data)
{
$model = IQContentArea::findOrFail($data['request']['area_id']);
if($data['id'] == "add"){
if($data['id'] === "add"){
$value = new IQContentAreaSection();
$value->id = "add";
$value->active = true;
@ -209,7 +217,7 @@ class ContentModalController extends Controller
*/
private function actionSiteContent($data)
{
if($data['id'] == "add"){
if($data['id'] === "add"){
$value = new IQContentSite();
$value->id = "add";
$value->active = true;
@ -228,7 +236,7 @@ class ContentModalController extends Controller
*/
private function actionTreeContent($data)
{
if($data['id'] == "add"){
if($data['id'] === "add"){
$value = new IQContentTree();
$value->id = "add";
$value->active = true;
@ -245,7 +253,7 @@ class ContentModalController extends Controller
{
$model = IQContentTree::findOrFail($data['request']['tree_id']);
if($data['id'] == "add"){
if($data['id'] === "add"){
$value = new IQContentTreeNode();
$value->id = "add";
$value->active = true;
@ -261,15 +269,15 @@ class ContentModalController extends Controller
private function actionTreeSiteContent($data)
{
if($data['id'] == "add"){
if($data['id'] === "add"){
$value = new Collection();
$value->active = true;
$value->id = 'add';
$data['title'] = "Seite hinzufügen";
}else {
$value = new Collection();
$data['title'] = "Edit Site: ".$value->name;
/* $value = new Collection();
$data['title'] = "Edit Site: ".$value->name;*/
}
$url = route('iq_content_tree_detail', [$data['request']['tree_id'], $data['request']['tree_node_id']]);
@ -278,6 +286,25 @@ class ContentModalController extends Controller
return view("iq.modal.site", compact('data','value', 'url') )->render();
}
private function actionAddAnswerQuestion($data)
{
if($data['id'] === "add"){
$value = new Collection();
$value->active = true;
$value->id = 'add';
$data['title'] = "Frage & Antwort hinzufügen";
}else {
/* $value = new Collection();
$data['title'] = "Edit Eintrag: ".$value->name; */
}
$url = route('iq_content_tree_detail', [$data['request']['tree_id'], $data['request']['tree_node_id']]);
$data['request'] = false;
return view("iq.modal.faq", compact('data','value', 'url') )->render();
}
private function actionGuideTreeSite($data)
{
if(!isset($data['tree_id'])){
@ -287,8 +314,6 @@ class ContentModalController extends Controller
$data['travel_guide_id'] = $data['request']['travel_guide_id'];
$data['title'] = "Tree zuordnen";
$url = route('cms_travel_guide_detail', [$data['request']['travel_guide_id']]);
}else {
$value = new Collection();
$value->active = true;
@ -300,16 +325,35 @@ class ContentModalController extends Controller
}
$url = route('iq_content_tree_detail', [$data['tree_id']]);
}
$data['request'] = false;
return view("iq.modal.tree_site", compact('data','value', 'url') )->render();
}
private function actionSiteTravelIdentifier($data)
{
$value = IQContentSite::find($data['id']);
$node = $value->iq_content_tree_node;
$select_data = \App\Models\IQContentSite::$travelTypes;
foreach ($node->iq_content_sites as $site){
if($site->identifier !== null && $site->identifier !== ''){
if(isset($select_data[$site->identifier])) {
unset($select_data[$site->identifier]);
}
}
}
$data['title'] = " Zuordnung Seite";
$url = route('iq_content_tree_detail', [$data['request']['tree_id'], $data['request']['tree_node_id']]);
$data['request'] = false;
return view("iq.modal.travel-identifier", compact('data','value', 'url', 'select_data') )->render();
}
}

View file

@ -4,6 +4,8 @@ namespace App\Http\Controllers\IQ;
use App\Http\Controllers\Controller;
use App\Models\AnswerQuestion;
use App\Models\IQContentFaq;
use App\Models\IQContentSite;
use App\Models\IQContentTree;
use App\Models\IQContentTreeNode;
@ -11,6 +13,7 @@ use App\Models\TravelGuide;
use App\Models\TravelPageGuide;
use App\Repositories\IQ\ContentSiteRepository;
use Illuminate\Support\Collection;
use IqContent\LaravelFilemanager\Lfm;
use Request;
use Validator;
@ -45,7 +48,6 @@ class ContentTreeController extends Controller
$tree_node = IQContentTreeNode::find($node_id);
$area_section = false;
$site_fields = false;
if($section_id){
/*
* $area_section = IQContentAreaSection::findOrFail($area_section_id);
@ -58,6 +60,7 @@ class ContentTreeController extends Controller
'tree_node' => $tree_node,
'id' => $id,
'section' => false,
'lfm_helper' => app(Lfm::class),
];
return view('cms.travel_guide.tree-detail', $data);
@ -213,6 +216,7 @@ class ContentTreeController extends Controller
\Session()->flash('alert-save', '1');
return redirect(route('iq_content_tree_detail', [$model->id]));
break;
case 'tree-node' :
$model = IQContentTree::findOrFail($id);
$model->updated_at = now();
@ -228,15 +232,8 @@ class ContentTreeController extends Controller
\Session()->flash('alert-save', '1');
return redirect(route('iq_content_tree_detail', [$model->id, $tree_node->id]));
break;
case 'tree-site-content' :
/* if($data['id'] == 0){
$contentSite = IQContentSite::create($data);
}else{
$contentSite = IQContentSite::find($data['id']);
$contentSite->fill($data);
$contentSite->save();
}*/
case 'tree-site-content' :
$model = IQContentTree::findOrFail($id);
$model->updated_at = now();
$model->save();
@ -253,9 +250,24 @@ class ContentTreeController extends Controller
return redirect(route('iq_content_tree_detail', [$id, $node_id]));
break;
case 'add-answer-question' :
$model = IQContentTree::findOrFail($id);
$model->updated_at = now();
$model->save();
$tree_node = IQContentTreeNode::findOrFail($node_id);
$faq = AnswerQuestion::findOrFail($data['modal_faq_id']);
if(IQContentFaq::whereTreeNodeId($tree_node->id)->whereFaqId($faq->id)->count() == 0){
IQContentFaq::create(['tree_node_id'=>$tree_node->id, 'faq_id'=>$faq->id]);
\Session()->flash('alert-save', '1');
}else{
\Session()->flash('alert-error', 'Eintrag schon vorhanden');
}
return redirect(route('iq_content_tree_detail', [$id, $node_id]));
break;
case 'guide-tree-site' :
$model = IQContentTree::findOrFail($id);
$model->updated_at = now();
$model->save();
@ -271,7 +283,20 @@ class ContentTreeController extends Controller
}
return redirect(route('cms_travel_guide_detail', [$travel_guide->id]));
break;
case 'site-travel-identifier' :
$model = IQContentTree::findOrFail($id);
$model->updated_at = now();
$model->save();
$tree_node = IQContentTreeNode::findOrFail($node_id);
$content_site = IQContentSite::findOrFail($data['id']);
$content_site->identifier = $data['identifier'];
$content_site->save();
\Session()->flash('alert-save', '1');
return redirect(route('iq_content_tree_detail', [$id, $node_id]));
break;
}
}
}
@ -313,18 +338,29 @@ class ContentTreeController extends Controller
}
}
public function removeSite($id, $node_id, $travel_guide_id, $r=false){
$model = IQContentTree::findOrFail($id);
public function remove($action, $id, $node_id, $remove_id, $r='tree'){
$tree = IQContentTree::findOrFail($id);
$tree_node = IQContentTreeNode::findOrFail($node_id);
$tavel_guide = TravelGuide::findOrFail($travel_guide_id);
$iq_content_site = IQContentSite::whereTreeNodeId($node_id)->whereTravelGuideId($travel_guide_id)->first();
$iq_content_site->delete();
\Session()->flash('alert-success', __('Seite aus Tree entfernt.'));
if($r == "g"){
return redirect(route('cms_travel_guide_detail', [$travel_guide_id]));
if($action === 'guide'){
$model = TravelGuide::findOrFail($remove_id);
$iq_content_site = IQContentSite::whereTreeNodeId($tree_node->id)->whereTravelGuideId($model->id)->first();
$iq_content_site->delete();
\Session()->flash('alert-success', __('Seite aus Tree entfernt.'));
}
return redirect(route('iq_content_tree_detail', [$id, $node_id]));
if($action === 'faq'){
$model = AnswerQuestion::findOrFail($remove_id);
$iq_content_site = IQContentFaq::whereTreeNodeId($tree_node->id)->whereFaqId($model->id)->first();
$iq_content_site->delete();
\Session()->flash('alert-success', __('Seite aus Tree entfernt.'));
}
if($r === "guide"){
return redirect(route('cms_travel_guide_detail', [$model->id]));
}
return redirect(route('iq_content_tree_detail', [$tree->id, $tree_node->id]));
}