Skip to content
Snippets Groups Projects
Commit 025b6495 authored by btalhaoui's avatar btalhaoui
Browse files

Added Organizations

parent b42a6344
No related branches found
No related tags found
No related merge requests found
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Organizations;
use Illuminate\Support\Facades\Auth;
class OrganizationController extends Controller
{
public function index(){
return view("org/manage",['organizations' => Auth::user()->organizations()->get()]);
}
public function addOrg(Request $request){
$org = Organizations::where('name',$request->input('name'))->get();
Auth::user()->organizations()->attach($org[0]->id);
return view("org/manage",['organizations' => Auth::user()->organizations()->get()]);
}
}
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Organizations extends Model
{
protected $fillable = ['name'];
public function users()
{
return $this->belongsToMany('App\Models\User','users_organizations', 'organization_id','user_id')
->withTimestamps();
}
}
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateOrganizationsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('organizations', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('organizations');
}
}
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateUsersOrganizationsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('users_organizations', function (Blueprint $table) {
$table->integer('user_id')->unsigned()->nullable();
$table->foreign('user_id')->references('id')
->on('users')->onDelete('cascade');
$table->integer('organization_id')->unsigned()->nullable();
$table->foreign('organization_id')->references('id')
->on('organizations')->onDelete('cascade');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('users_organizations');
}
}
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="panel panel-default">
<div class="panel-heading">Your organizations</div>
<div class="panel-body">
@if (session('status'))
<div class="alert alert-success">
{{ session('status') }}
</div>
@endif
@foreach ($organizations as $org)
<p>{{ $org->name }}</p>
@endforeach
</div>
<div class="panel-heading">Join an organization</div>
<div class="panel-body">
<form class="form-horizontal" method="POST" action="{{ action('OrganizationController@addOrg') }}">
{{ csrf_field() }}
<div class="form-group{{ $errors->has('name') ? ' has-error' : '' }}">
<label for="name" class="col-md-4 control-label">Name</label>
<div class="col-md-6">
<input id="name" type="text" class="form-control" name="name" value="{{ old('name') }}" required autofocus>
@if ($errors->has('name'))
<span class="help-block">
<strong>{{ $errors->first('name') }}</strong>
</span>
@endif
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-4">
<button type="submit" class="btn btn-primary">
Register
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment