v0.9.0 - Added individual `Read more` buttons on news.index
Added NewsType - To see if it's a news, menu, guide or event Added type column to News type_id & arrangement_id (Both needed to see what type (menu,guide,news,event) and arrangement(The individual types ID)) Added NewsTypeSeeder.php Fixed CSS Added & Fixed messages en/dk Fixed Editors Added routing when removing yourself from an event, on events.index
This commit is contained in:
parent
e06504b5fb
commit
2cbb517ef1
|
@ -86,12 +86,9 @@ class EventController extends Controller
|
||||||
|
|
||||||
$news->name = "Ny aktivitet";
|
$news->name = "Ny aktivitet";
|
||||||
$news->subname = $event->name;
|
$news->subname = $event->name;
|
||||||
$news->content = "<p>" . $this->closetags(substr($event->description, 0, 300)). "</p>" .
|
$news->arrangement_id = $event->id;
|
||||||
'<div class="row align-items-center">'. //route("userevents.createajax", ["event_id" => $event->id ])
|
$news->type_id = '3';
|
||||||
'<a style="width: 33%; margin: 0; padding: 0; font-weight: 700;" class="sde-blue" href="javascript:void(0);" onclick="ajaxCall('. $event->id .')">Tilmeld</a>'.
|
$news->content = $event->description;
|
||||||
'<a style="width: 33%; margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="'. route("events.show", ["event" => $event->id ]) .'">Læs mere</a>'.
|
|
||||||
'<a style="width: 33%; margin: 0; padding: 0; text-align: end; font-weight: 700;" class="sde-blue" href="'. route("events.accountsignups", ["event" => $event->id ]) .'">Se deltagere</a>'.
|
|
||||||
'</div>';
|
|
||||||
$news->resource_id = $event->resource_id;
|
$news->resource_id = $event->resource_id;
|
||||||
$news->save();
|
$news->save();
|
||||||
}
|
}
|
||||||
|
@ -184,11 +181,13 @@ class EventController extends Controller
|
||||||
|
|
||||||
$news->name = "Aktivitet opdateret";
|
$news->name = "Aktivitet opdateret";
|
||||||
$news->subname = $event->name;
|
$news->subname = $event->name;
|
||||||
|
$news->arrangement_id = $event->id;
|
||||||
|
$news->type_id = '3';
|
||||||
$news->content = "<p>" . $this->closetags(substr($event->description, 0, 300)). "</p>" .
|
$news->content = "<p>" . $this->closetags(substr($event->description, 0, 300)). "</p>" .
|
||||||
'<div class="row align-items-center">'. //route("userevents.createajax", ["event_id" => $event->id ])
|
'<div class="row" style="justify-content: space-between;">'. //route("userevents.createajax", ["event_id" => $event->id ])
|
||||||
'<a style="width: 33%; margin: 0; padding: 0; font-weight: 700;" class="sde-blue" href="javascript:void(0);" onclick="ajaxCall('. $event->id .')">Tilmeld</a>'.
|
'<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue" href="javascript:void(0);" onclick="ajaxCall('. $event->id .')">Tilmeld</a>'.
|
||||||
'<a style="width: 33%; margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="'. route("events.show", ["event" => $event->id ]) .'">Læs mere</a>'.
|
'<a style="margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="'. route("events.show", ["event" => $event->id ]) .'">Læs mere</a>'.
|
||||||
'<a style="width: 33%; margin: 0; padding: 0; text-align: end; font-weight: 700;" class="sde-blue" href="'. route("events.accountsignups", ["event" => $event->id ]) .'">Se deltagere</a>'.
|
'<a style="margin: 0; padding: 0; text-align: end; font-weight: 700;" class="sde-blue" href="'. route("events.accountsignups", ["event" => $event->id ]) .'">Se deltagere</a>'.
|
||||||
'</div>';
|
'</div>';
|
||||||
$news->save();
|
$news->save();
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,8 +80,10 @@ class GuideController extends Controller
|
||||||
|
|
||||||
$news->name = "Ny Vejledning";
|
$news->name = "Ny Vejledning";
|
||||||
$news->subname = $guide->name;
|
$news->subname = $guide->name;
|
||||||
|
$news->arrangement_id = $guide->id;
|
||||||
|
$news->type_id = '4';
|
||||||
|
|
||||||
$news->content = $this->closetags(substr($guide->guide_articles, 0, 300)). '<br><a style="font-weight: 700;" href="' . route("guides.show", ["guide" => $guide]). '" class="sde-blue ">Læs mere</a>';
|
$news->content = $guide->guide_articles;
|
||||||
$news->resource_id = $guide->resource_id;
|
$news->resource_id = $guide->resource_id;
|
||||||
|
|
||||||
$news->save();
|
$news->save();
|
||||||
|
@ -142,6 +144,8 @@ class GuideController extends Controller
|
||||||
|
|
||||||
$news->name = "Vejledning opdateret";
|
$news->name = "Vejledning opdateret";
|
||||||
$news->subname = $guidee->name;
|
$news->subname = $guidee->name;
|
||||||
|
$news->arrangement_id = $guide->id;
|
||||||
|
$news->type_id = '4';
|
||||||
|
|
||||||
$news->content = $this->closetags(substr($guidee->guide_articles, 0, 300)). '<br><a style="font-weight: 700;" href="' . route("guides.show", ["guide" => $guide]). '" class="sde-blue ">Læs mere</a>';
|
$news->content = $this->closetags(substr($guidee->guide_articles, 0, 300)). '<br><a style="font-weight: 700;" href="' . route("guides.show", ["guide" => $guide]). '" class="sde-blue ">Læs mere</a>';
|
||||||
|
|
||||||
|
|
|
@ -77,6 +77,8 @@ class MenuPlanController extends Controller
|
||||||
|
|
||||||
$news->name = "Ny menuplan";
|
$news->name = "Ny menuplan";
|
||||||
$news->subname = "Uge " . $menuPlan->week;
|
$news->subname = "Uge " . $menuPlan->week;
|
||||||
|
$news->arrangement_id = $menuPlan->id;
|
||||||
|
$news->type_id = '2';
|
||||||
$news->content = $menuPlan->menu;
|
$news->content = $menuPlan->menu;
|
||||||
|
|
||||||
if($request->file("resource")) {
|
if($request->file("resource")) {
|
||||||
|
@ -142,6 +144,8 @@ class MenuPlanController extends Controller
|
||||||
|
|
||||||
$news->name = "Opdateret menuplan";
|
$news->name = "Opdateret menuplan";
|
||||||
$news->subname = "Uge " . $menuplan->week;
|
$news->subname = "Uge " . $menuplan->week;
|
||||||
|
$news->arrangement_id = $menuplan->id;
|
||||||
|
$news->type_id = '2';
|
||||||
$news->content = $menuplan->menu;
|
$news->content = $menuplan->menu;
|
||||||
|
|
||||||
$news->save();
|
$news->save();
|
||||||
|
|
|
@ -56,6 +56,7 @@ class NewsController extends Controller
|
||||||
|
|
||||||
$news = new News($data);
|
$news = new News($data);
|
||||||
$news->name = "";
|
$news->name = "";
|
||||||
|
$news->type_id = '1';
|
||||||
$news->save();
|
$news->save();
|
||||||
|
|
||||||
return redirect()->route("news.index");
|
return redirect()->route("news.index");
|
||||||
|
@ -93,7 +94,7 @@ class NewsController extends Controller
|
||||||
public function update(Request $request, News $news)
|
public function update(Request $request, News $news)
|
||||||
{
|
{
|
||||||
$data = $request->validate([
|
$data = $request->validate([
|
||||||
"name" => "required",
|
"subname" => "required",
|
||||||
"content" => "required"
|
"content" => "required"
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class NewsTypeController extends Controller
|
||||||
|
{
|
||||||
|
public function index() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function store() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function update() {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function show() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
|
@ -140,4 +140,25 @@ class UserEventController extends Controller
|
||||||
|
|
||||||
return '<p class="text-center"><b>Du er hermed tilmeldt denne aktivitet!</b></p>';
|
return '<p class="text-center"><b>Du er hermed tilmeldt denne aktivitet!</b></p>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function createajaxcancel(Request $request)
|
||||||
|
{
|
||||||
|
// Check the UserEvent table if there is a row that has the user_id AND the event_id
|
||||||
|
$UserEvent = UserEvent::where('user_id', auth()->user()->id)
|
||||||
|
->where('event_id', $request->event_id);
|
||||||
|
|
||||||
|
|
||||||
|
// If you are in the Event, then remove yourself.
|
||||||
|
if (count($UserEvent->get()) > 0) {
|
||||||
|
// If not, then it keeps going and saves and shows a success message
|
||||||
|
$UserEvent->delete();
|
||||||
|
|
||||||
|
if (request()->cookie('languagesSetting') == "dk")
|
||||||
|
return '<p class="text-center"><b>Du er hermed afmeldt aktiviteten!</b></p>';
|
||||||
|
if (request()->cookie('languagesSetting') == "en")
|
||||||
|
return '<p class="text-center"><b>You are no longer participating in this event!</b></p>';
|
||||||
|
|
||||||
|
return '<p class="text-center"><b>Du er hermed afmeldt aktiviteten!</b></p>';
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,6 @@ use Illuminate\Database\Eloquent\Model;
|
||||||
class News extends Model
|
class News extends Model
|
||||||
{
|
{
|
||||||
protected $fillable = [
|
protected $fillable = [
|
||||||
'name', 'subname', 'content', 'resource_id'
|
'name', 'subname', 'content', 'resource_id', 'arrangement_id', 'type'
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class NewsType extends Model
|
||||||
|
{
|
||||||
|
protected $fillable = [
|
||||||
|
'type'
|
||||||
|
];
|
||||||
|
}
|
|
@ -19,6 +19,8 @@ class CreateNewsTable extends Migration
|
||||||
$table->string('subname');
|
$table->string('subname');
|
||||||
$table->text("content");
|
$table->text("content");
|
||||||
$table->foreignId('resource_id')->nullable()->constrained('resources', 'id');
|
$table->foreignId('resource_id')->nullable()->constrained('resources', 'id');
|
||||||
|
$table->integer("arrangement_id")->nullable(); //Gets ID from given event, menu, guide or news
|
||||||
|
$table->foreignid("type_id")->nullable()->constrained("news_types", "id");
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateNewsType extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('news_types', function (Blueprint $table) {
|
||||||
|
$table->id();
|
||||||
|
$table->string("type");
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('news_types');
|
||||||
|
}
|
||||||
|
}
|
|
@ -16,5 +16,6 @@ class DatabaseSeeder extends Seeder
|
||||||
$this->call(UserSeeder::class);
|
$this->call(UserSeeder::class);
|
||||||
$this->call(ContactSeeder::class);
|
$this->call(ContactSeeder::class);
|
||||||
$this->call(LocationSeeder::class);
|
$this->call(LocationSeeder::class);
|
||||||
|
$this->call(NewsTypeSeeder::class);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
|
class NewsTypeSeeder extends Seeder
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the database seeds.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function run()
|
||||||
|
{
|
||||||
|
$newstypedata = [
|
||||||
|
[
|
||||||
|
'type' => "News",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'type' => "Menu",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'type' => "Activity",
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'type' => "Guide",
|
||||||
|
],
|
||||||
|
];
|
||||||
|
|
||||||
|
foreach ($newstypedata as $data) {
|
||||||
|
$newsType = new \App\NewsType();
|
||||||
|
|
||||||
|
$newsType->type = $data["type"];
|
||||||
|
|
||||||
|
$newsType->save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -7019,6 +7019,10 @@ main {
|
||||||
bottom: 30px;
|
bottom: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.container > * {
|
||||||
|
word-break: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
#snackbar.show {
|
#snackbar.show {
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
|
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
|
||||||
|
|
|
@ -7019,6 +7019,10 @@ main {
|
||||||
bottom: 30px;
|
bottom: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.container > * {
|
||||||
|
word-break: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
#snackbar.show {
|
#snackbar.show {
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
|
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
|
||||||
|
|
|
@ -53,6 +53,9 @@ return[
|
||||||
"ændrer" => "Skift",
|
"ændrer" => "Skift",
|
||||||
"profilbillede" => "Upload profil billede",
|
"profilbillede" => "Upload profil billede",
|
||||||
"omkring" => "Omkring",
|
"omkring" => "Omkring",
|
||||||
|
"læsmere" => "Læs mere",
|
||||||
|
"sedeltagere" => "Se deltagere",
|
||||||
|
"af" => "Af"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ return[
|
||||||
"dereringenmenuplanerdenneuge" => "There is no menu for this week",
|
"dereringenmenuplanerdenneuge" => "There is no menu for this week",
|
||||||
"uge" => "week",
|
"uge" => "week",
|
||||||
"ugestor" => "Week",
|
"ugestor" => "Week",
|
||||||
"dereringenaktiviteter" => "There is no activity this week",
|
"dereringenaktiviteter" => "There are no activities",
|
||||||
"setilmeldteaktiviteter" => "See registered Activities",
|
"setilmeldteaktiviteter" => "See registered Activities",
|
||||||
"tilmeldteaktiviteter" => "Your registered Activities",
|
"tilmeldteaktiviteter" => "Your registered Activities",
|
||||||
"tilmeldtesnavn" => "Participants",
|
"tilmeldtesnavn" => "Participants",
|
||||||
|
@ -61,5 +61,8 @@ return[
|
||||||
"ændrebillede" => "Change picture",
|
"ændrebillede" => "Change picture",
|
||||||
"ændrer" => "Change",
|
"ændrer" => "Change",
|
||||||
"profilbillede" => "Upload profile picture",
|
"profilbillede" => "Upload profile picture",
|
||||||
"Omkring" => "About",
|
"omkring" => "About",
|
||||||
|
"læsmere" => "Read more",
|
||||||
|
"sedeltagere" => "See participants",
|
||||||
|
"af" => "By"
|
||||||
];
|
];
|
||||||
|
|
|
@ -524,6 +524,10 @@ $primary-color: $blue;
|
||||||
bottom: 30px;
|
bottom: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.container > * {
|
||||||
|
word-break: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
#snackbar.show {
|
#snackbar.show {
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
|
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
|
||||||
|
|
|
@ -53,9 +53,9 @@
|
||||||
modules: {
|
modules: {
|
||||||
'toolbar': [
|
'toolbar': [
|
||||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||||
[{ 'color': [] }, { 'background': [] }],
|
[{ 'color': [] }],
|
||||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||||
[ 'link' ],
|
[ 'link' ],
|
||||||
|
|
|
@ -52,9 +52,9 @@
|
||||||
modules: {
|
modules: {
|
||||||
'toolbar': [
|
'toolbar': [
|
||||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||||
[{ 'color': [] }, { 'background': [] }],
|
[{ 'color': [] }],
|
||||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||||
[ 'link' ],
|
[ 'link' ],
|
||||||
|
|
|
@ -48,9 +48,9 @@
|
||||||
modules: {
|
modules: {
|
||||||
'toolbar': [
|
'toolbar': [
|
||||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||||
[{ 'color': [] }, { 'background': [] }],
|
[{ 'color': [] }],
|
||||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||||
[ 'link' ],
|
[ 'link' ],
|
||||||
|
|
|
@ -48,9 +48,9 @@
|
||||||
modules: {
|
modules: {
|
||||||
'toolbar': [
|
'toolbar': [
|
||||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||||
[{ 'color': [] }, { 'background': [] }],
|
[{ 'color': [] }],
|
||||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||||
[ 'link' ],
|
[ 'link' ],
|
||||||
|
|
|
@ -63,9 +63,9 @@
|
||||||
modules: {
|
modules: {
|
||||||
'toolbar': [
|
'toolbar': [
|
||||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||||
[{ 'color': ['#ffffff-#000000'] }, { 'background': [] }],
|
[{ 'color': [] }],
|
||||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||||
[ 'link' ],
|
[ 'link' ],
|
||||||
|
|
|
@ -47,9 +47,9 @@
|
||||||
modules: {
|
modules: {
|
||||||
'toolbar': [
|
'toolbar': [
|
||||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||||
[{ 'color': [] }, { 'background': [] }],
|
[{ 'color': [] }],
|
||||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||||
[ 'link' ],
|
[ 'link' ],
|
||||||
|
|
|
@ -33,9 +33,9 @@
|
||||||
modules: {
|
modules: {
|
||||||
'toolbar': [
|
'toolbar': [
|
||||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||||
[{ 'color': [] }, { 'background': [] }],
|
[{ 'color': [] }],
|
||||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||||
[ 'link' ],
|
[ 'link' ],
|
||||||
|
|
|
@ -34,9 +34,9 @@
|
||||||
modules: {
|
modules: {
|
||||||
'toolbar': [
|
'toolbar': [
|
||||||
[ 'bold', 'italic', 'underline', 'strike' ],
|
[ 'bold', 'italic', 'underline', 'strike' ],
|
||||||
[{ 'color': [] }, { 'background': [] }],
|
[{ 'color': [] }],
|
||||||
[{ 'script': 'super' }, { 'script': 'sub' }],
|
[{ 'script': 'super' }, { 'script': 'sub' }],
|
||||||
[{ 'header': '1' }, { 'header': '2' }, 'blockquote', 'code-block' ],
|
[{ 'header': '1' }, { 'header': '2' }, 'blockquote' ],
|
||||||
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
[{ 'list': 'ordered' }, { 'list': 'bullet'}, { 'indent': '-1' }, { 'indent': '+1' }],
|
||||||
[ {'direction': 'rtl'}, { 'align': [] }],
|
[ {'direction': 'rtl'}, { 'align': [] }],
|
||||||
[ 'link' ],
|
[ 'link' ],
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
@if($event->resource_id !== null)
|
@if($event->resource_id !== null)
|
||||||
<div class="header" style="background-size: cover; background-image: url('{{ asset(\App\Resource::query()->where("id", "=", $event->resource_id)->first()->filename) }}');">
|
<div class="header" style="background-size: cover; background-image: url('{{ asset(\App\Resource::query()->where("id", "=", $event->resource_id)->first()->filename) }}');">
|
||||||
<h3 style="text-shadow: 2px 2px 2px #00078A;">{{ $event->name }}</h3>
|
<h3 style="text-shadow: 2px 2px 2px #00078A;">{{ $event->name }}</h3>
|
||||||
<p style="text-shadow: 2px 2px 2px #00078A"; class="text-center mt-0">Af: {{ $event->accountable }}</p>
|
<p style="text-shadow: 2px 2px 2px #00078A"; class="text-center mt-0">{{__('msg.af')}}: {{ $event->accountable }}</p>
|
||||||
<p style="text-shadow: 2px 2px 2px #00078A"; class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
<p style="text-shadow: 2px 2px 2px #00078A"; class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
||||||
</div>
|
</div>
|
||||||
@else
|
@else
|
||||||
|
@ -51,14 +51,15 @@
|
||||||
<p class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
<p class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
<div class="container">
|
<div class="container" style="margin-top: 8px;">
|
||||||
{!! \App\Helpers::closetags(substr($event->description, 0, 300) )!!}
|
{!! \App\Helpers::closetags(substr($event->description, 0, 300) )!!}
|
||||||
<input type="hidden" name="event_id" value="{{ $event->id }}">
|
<input type="hidden" name="event_id" value="{{ $event->id }}">
|
||||||
{!! session()->get('error#' . $event->id) !!}
|
{!! session()->get('error#' . $event->id) !!}
|
||||||
{!! session()->get('signup#' . $event->id) !!}
|
{!! session()->get('signup#' . $event->id) !!}
|
||||||
<div class="row">
|
<div class="row" style="justify-content: space-between; margin-top: 16px;">
|
||||||
<a style="width: 50%; margin: 0; padding: 0; text-align: start; font-weight: 700;" class="sde-blue" href="javascript:;" onclick="document.getElementById('form{{$event->id}}').submit();" >Tilmeld</a>
|
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="javascript:;" onclick="document.getElementById('form{{$event->id}}').submit();" >{{__('msg.tilmeld')}}</a>
|
||||||
<a style="width: 50%; margin: 0; padding: 0; text-align: end; font-weight: 700;" class="sde-blue" href="{{route("events.show", ["event" => $event->id ])}}">Læs mere</a>
|
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="{{route("events.show", ["event" => $event->id ])}}">{{__('msg.læsmere')}}</a>
|
||||||
|
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="{{route("events.accountsignups", ["event" => $event->id ])}}">{{__('msg.sedeltagere')}}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -13,7 +13,9 @@
|
||||||
<main>
|
<main>
|
||||||
<h1 style="margin-bottom: 2rem" class="text-center sde-blue mt-0">{{__('msg.aktiviteter')}}</h1>
|
<h1 style="margin-bottom: 2rem" class="text-center sde-blue mt-0">{{__('msg.aktiviteter')}}</h1>
|
||||||
<div style="padding: 4px; margin-top: .25rem; text-align: justify; ">
|
<div style="padding: 4px; margin-top: .25rem; text-align: justify; ">
|
||||||
<h2 class="text-center sde-blue mt-0">{{ $event->name }}</h2>
|
<h2 class="text-center sde-blue mt-0 mb-1">{{ $event->name }}</h2>
|
||||||
|
<p class="text-center mt-0">{{__('msg.af')}}: {{ $event->accountable }}</p>
|
||||||
|
<p class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
||||||
{!!$event->description!!}
|
{!!$event->description!!}
|
||||||
</div>
|
</div>
|
||||||
<button style="margin-top: auto" onclick="window.history.back()" class="btn btn-sde-blue text-white mb-1 mt-1" >{{__('msg.tilbage')}}</button>
|
<button style="margin-top: auto" onclick="window.history.back()" class="btn btn-sde-blue text-white mb-1 mt-1" >{{__('msg.tilbage')}}</button>
|
||||||
|
|
|
@ -4,6 +4,34 @@
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section("content")
|
@section("content")
|
||||||
|
<style>
|
||||||
|
div.card {
|
||||||
|
margin-top: 1rem;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
width: auto;
|
||||||
|
heigt: auto;
|
||||||
|
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
|
||||||
|
}
|
||||||
|
|
||||||
|
div.header {
|
||||||
|
background-color: #00788a;
|
||||||
|
color: white;
|
||||||
|
padding: 8px;
|
||||||
|
font-size: 10px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.container {
|
||||||
|
padding: 8px;
|
||||||
|
text-align: justify;
|
||||||
|
line-height: 1.5;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol {
|
||||||
|
padding-right: 8px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
<main>
|
<main>
|
||||||
<h1 class="text-center sde-blue mb-0" style="margin-bottom: 2rem">{{__('msg.tilmeldteaktiviteter')}}</h1>
|
<h1 class="text-center sde-blue mb-0" style="margin-bottom: 2rem">{{__('msg.tilmeldteaktiviteter')}}</h1>
|
||||||
{!! session()->get('eventunsubscribed') !!}
|
{!! session()->get('eventunsubscribed') !!}
|
||||||
|
@ -12,10 +40,29 @@
|
||||||
<form method="post" action="{{ route("userevents.destroy", $userevent) }}">
|
<form method="post" action="{{ route("userevents.destroy", $userevent) }}">
|
||||||
@csrf
|
@csrf
|
||||||
@method("delete")
|
@method("delete")
|
||||||
<h3 class="sde-blue bold text-center mb-0">{{$userevent->name}}</h3>
|
<div class="card">
|
||||||
<p class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($userevent->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
@if($userevent->resource_id !== null)
|
||||||
<p class="text-center">{!! $userevent->description !!}</p>
|
<div class="header" style="background-size: cover; background-image: url('{{ asset(\App\Resource::query()->where("id", "=", $userevent->resource_id)->first()->filename) }}');">
|
||||||
<button type="submit" class="btn text-center btn-sde-blue" onclick="return confirm('Are you sure you want to remove this event?');">{{__('msg.afmeld')}}</button>
|
<h3 style="text-shadow: 2px 2px 2px #00078A;">{{ $userevent->name }}</h3>
|
||||||
|
<p style="text-shadow: 2px 2px 2px #00078A"; class="text-center mt-0">{{__('msg.af')}}: {{ $userevent->accountable }}</p>
|
||||||
|
<p style="text-shadow: 2px 2px 2px #00078A"; class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($userevent->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
|
<div class="header">
|
||||||
|
<h3>{{ $userevent->name }}</h3>
|
||||||
|
<p class="text-center mt-0">{{__('msg.af')}}: {{ $userevent->accountable }}</p>
|
||||||
|
<p class="text-center mt-0">{{ \Illuminate\Support\Facades\Date::createFromTimeStamp(strtotime($event->date))->format('d/m/Y \k\l\. H:i') }}</p>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
<div class="container">
|
||||||
|
{!! \App\Helpers::closetags(substr($userevent->description, 0, 300) )!!}
|
||||||
|
<div class="row" style="justify-content: space-between;">
|
||||||
|
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="javascript:;" onclick="return confirm('Are you sure you want to remove this event?');" >{{__('msg.afmeld')}}</a>
|
||||||
|
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="{{route("events.show", ["event" => $userevent->id ])}}">{{__('msg.læsmere')}}</a>
|
||||||
|
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="{{route("events.accountsignups", ["event" => $userevent->id ])}}">{{__('msg.sedeltagere')}}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
@endforeach
|
@endforeach
|
||||||
@else
|
@else
|
||||||
|
|
|
@ -48,7 +48,9 @@
|
||||||
@endif
|
@endif
|
||||||
<div class="container">
|
<div class="container">
|
||||||
{!! \App\Helpers::closetags(substr($guide->guide_articles, 0, 300)) !!}
|
{!! \App\Helpers::closetags(substr($guide->guide_articles, 0, 300)) !!}
|
||||||
<a style="width: 33%; margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="{{route("guides.show", ["guide" => $guide->id ])}}">Læs mere</a>
|
<div class="row" style="justify-content: center;">
|
||||||
|
<a style="margin: 0; padding: 0; text-align: center; font-weight: 700;" class="sde-blue" href="{{route("guides.show", ["guide" => $guide->id ])}}">{{__('msg.læsmere')}}</a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
|
|
@ -41,8 +41,29 @@
|
||||||
<h3>{{ $new->subname }}</h3>
|
<h3>{{ $new->subname }}</h3>
|
||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
<div class="container">
|
|
||||||
|
<div class="container" style="margin-top: 8px;">
|
||||||
|
@if ($new->type_id == 1 || $new->type_id == 2) {{-- If it's a news or menu then display the whole message --}}
|
||||||
{!! $new->content !!}
|
{!! $new->content !!}
|
||||||
|
@else {{-- If it's a menu, guide or event. Then display up to 300 characters of text --}}
|
||||||
|
{!! \App\Helpers::closetags(substr($new->content, 0, 300) ) !!}
|
||||||
|
@endif
|
||||||
|
|
||||||
|
@if ($new->type_id == 3) {{-- If it's displaying an event, then show `Tilmeld`, `Læs mere` & `Se deltagere` --}}
|
||||||
|
<div class="row" style="justify-content: space-between; margin-top: 16px;">
|
||||||
|
@if (count(\App\UserEvent::query()->where('event_id', '=', $new->arrangement_id)->where('user_id', '=', Auth::user()->id)->get()) > 0)
|
||||||
|
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="javascript:void(0);" onclick="ajaxCallCancel({{ $new->arrangement_id }})" >{{__('msg.afmeld')}}</a>
|
||||||
|
@else {{-- ^ If you're already participating in the event, then show a ´cancel´ button - v Else show a ´participate´ button --}}
|
||||||
|
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="javascript:void(0);" onclick="ajaxCall({{ $new->arrangement_id }})" >{{__('msg.tilmeld')}}</a>
|
||||||
|
@endif
|
||||||
|
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="{{route("events.show", ["event" => $new->arrangement_id ])}}">{{__('msg.læsmere')}}</a>
|
||||||
|
<a style="margin: 0; padding: 0; font-weight: 700;" class="sde-blue text-center" href="{{route("events.accountsignups", ["event" => $new->arrangement_id ])}}">{{__('msg.sedeltagere')}}</a>
|
||||||
|
</div>
|
||||||
|
@elseif ($new->type_id == 4) {{-- Else if's displaying guides, then show `Læs mere` --}}
|
||||||
|
<div class="row" style="justify-content: center">
|
||||||
|
<a style="font-weight: 700;" href="{{route("guides.show", ["guide" => $new->arrangement_id])}}" class="sde-blue">{{__('msg.læsmere')}}</a>
|
||||||
|
</div>
|
||||||
|
@endif {{-- Else if it's a menu or news, then don't show a button at bottom --}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
@ -58,10 +79,12 @@
|
||||||
var x = document.getElementById("snackbar");
|
var x = document.getElementById("snackbar");
|
||||||
x.innerHTML = data;
|
x.innerHTML = data;
|
||||||
x.className = "show";
|
x.className = "show";
|
||||||
|
|
||||||
setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000);
|
setTimeout(function(){ x.className = x.className.replace("show", ""); }, 3000);
|
||||||
}
|
}
|
||||||
|
|
||||||
function ajaxCall(event_id) {
|
function ajaxCall(event_id) {
|
||||||
|
|
||||||
axios.post("{{ route("userevents.createajax") }}",
|
axios.post("{{ route("userevents.createajax") }}",
|
||||||
{
|
{
|
||||||
event_id: event_id
|
event_id: event_id
|
||||||
|
@ -70,10 +93,26 @@
|
||||||
var data = response.data;
|
var data = response.data;
|
||||||
|
|
||||||
snackbar(data);
|
snackbar(data);
|
||||||
|
setTimeout(function(){document.location.reload(false)}, 2000);
|
||||||
}).catch(function (error) {
|
}).catch(function (error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ajaxCallCancel(event_id) {
|
||||||
|
|
||||||
|
axios.post("{{ route("userevents.createajaxcancel") }}",
|
||||||
|
{
|
||||||
|
event_id: event_id
|
||||||
|
}
|
||||||
|
).then(function (response) {
|
||||||
|
var data = response.data;
|
||||||
|
|
||||||
|
snackbar(data);
|
||||||
|
setTimeout(function(){document.location.reload(false)}, 2000);
|
||||||
|
}).catch(function (error) {
|
||||||
|
console.log(error);
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
@ -34,6 +34,7 @@ Route::get("/app/washing-reservations", "WashingReservationController@appindex")
|
||||||
Route::get("/settings", "SettingsController@index")->name("settings.index");
|
Route::get("/settings", "SettingsController@index")->name("settings.index");
|
||||||
Route::post("/events/signup", "UserEventController@createajax")->name("userevents.createajax");
|
Route::post("/events/signup", "UserEventController@createajax")->name("userevents.createajax");
|
||||||
Route::get("/about", "AboutController@index")->name("about.index");
|
Route::get("/about", "AboutController@index")->name("about.index");
|
||||||
|
Route::post("/events/cancelsignup", "UserEventController@createajaxcancel")->name("userevents.createajaxcancel");
|
||||||
|
|
||||||
|
|
||||||
//Search/Filter
|
//Search/Filter
|
||||||
|
@ -65,3 +66,4 @@ Route::resource("roles", "RolesController");
|
||||||
Route::resource("guides", "GuideController");
|
Route::resource("guides", "GuideController");
|
||||||
Route::resource("locations", "LocationController");
|
Route::resource("locations", "LocationController");
|
||||||
Route::resource("news", "NewsController");
|
Route::resource("news", "NewsController");
|
||||||
|
Route::resource("newstype", "NewsTypeController");
|
||||||
|
|
Loading…
Reference in New Issue