fungsi edit jika dia ketua, kalau bukan ketua tidak boleh edit

pada saat detil organisasi di klik akan muncul detil organisasi dan data anggota-anggota. saya mau buat jika user yang login adalah ketua maka pas dia lihat detil organisasi dia bisa edit, menambahkan data anggota organisasi. tapi jika yang login status anggota maka dia hanya bisa melihat data anggota saja dan detil organisasi saja.

mohon bantuannya

ada 4 model: 1. model user (semua data user seperti nama email) 2. model organisasi (berisi nama organisasi, alamat, tlp) 3. model organisasi role (berisi role seperti ketua, anggota) 4. model organisasi user (berisi relasi antara userId, organisasiId, dan organisasiroleId)

berikut source code masing-masing model:

ini model user

<?php

namespace App\Models;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    public function orgUser()
    {
        return $this->hasOne('App\Models\OrganitationUser','user_id');
    }
}

ini model organisasi

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Organitation extends Model
{
    protected $fillable = [
        'nama', 'alamat', 'tlp',
    ];

    public function organisasiUser()
    {
        return $this->hasMany('App\Models\OrganitationUser','organisasi_id');
    }
}

ini model organisasi role

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class OrganitationRole extends Model
{
    public function organitationUser()
    {
        return $this->hasOne('App\Model\OrganitationUser');
    }
}

ini model organisasi user

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class OrganitationUser extends Model
{
    public function user()
    {
        return $this->belongsTo('App\Models\User');
    }

    public function organitationRole()
    {
        return $this->belongsTo('App\Models\OrganitationRole', 'role_id');
    }

    public function organisasi()
    {
        return $this->belongsTo('App\Models\Organitation', 'organisasi_id');
    }
}

nah ini untuk page detilnya

@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">Dashboard</div>
                <h2>Profile Kelas</h2>
                <div class="panel-body">
                    <h4>{{$detilOrg->nama}}</h4>
                    <h4>{{$detilOrg->alamat}}</h4>
                    <h4>{{$detilOrg->tlp}}</h4>
                </div>

                <hr>
                <h2>List Anggota Kelas</h2>

                @foreach($detilOrg->organisasiUser as $user )
                    <ul>
                        <li>
                            {{$user->user->name}} -- {{$user->user->email}} -- {{$user->user->created_at}}
                            @if($user->organitationRole->id == 1 && $user->organisasi->nama == $detilOrg->nama)
                                edit - delete
                            @endif
                        </li>
                    </ul>
                @endforeach
            </div>
        </div>
    </div>
</div>
@endsection

avatar NugrohoWizaksono
@NugrohoWizaksono

2 Kontribusi 0 Poin

Diperbarui 5 tahun yang lalu

Tanggapan

judul pertanyaan tolong dibikin pertanyaan, sesuai aturan main

biasakan bertanyan dengan jelas, kode yang kamu buat sepeerti apa, masalahnya apa, errornya apa dll.

1 Jawaban:

@if (Auth::user()->organitationRole == 1)
<a href="/formedit" class="btn btn-warning" > Edit </a @endif

avatar DelfinJ
@DelfinJ

39 Kontribusi 3 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban