add new role for jawatankuasa audit

This commit is contained in:
nurafrinaalimi16
2024-03-26 15:12:48 +08:00
parent 411449cdb9
commit 75b133860a
5 changed files with 88 additions and 44 deletions
@@ -31,7 +31,8 @@ class AddController extends Controller
'name' => 'required|unique:users',
'email' => 'required|email|unique:users',
'password' => 'required',
'confirm_password' => 'same:password'
'confirm_password' => 'same:password',
'role' => 'required'
]);
}
}
+1 -1
View File
@@ -16,7 +16,7 @@ class User extends Authenticatable
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
'name', 'email', 'password', 'role'
];
/**
@@ -0,0 +1,34 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddRoleToUsersTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
//
$table->string('role', 60);
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
//
$table->dropColumn('role');
});
}
}
@@ -1,62 +1,71 @@
<template>
<div class="panel panel-default">
<div class="panel-body">
<form id="add_form" @submit.prevent="add()">
<div class="panel panel-default">
<div class="panel-body">
<form id="add_form" @submit.prevent="add()">
<div class="form-group">
<label for="name">Nama</label>
<input type="text" name="name" class="form-control" required/>
</div>
<div class="form-group">
<label for="name">Nama</label>
<input type="text" name="name" class="form-control" required />
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" name="email" class="form-control" required/>
</div>
<div class="form-group">
<label for="email">Email</label>
<input type="email" name="email" class="form-control" required />
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" class="form-control" required/>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" name="password" class="form-control" required />
</div>
<div class="form-group">
<label for="confirm_password">Confirm Password</label>
<input type="password" name="confirm_password" class="form-control" required/>
</div>
<div class="form-group">
<label for="confirm_password">Confirm Password</label>
<input type="password" name="confirm_password" class="form-control" required />
</div>
<div class="form-group">
<input type="submit" value="Submit" class="btn btn-info"/>
<router-link :to="{name: 'Manage Account'}" class="btn btn-default">Back</router-link>
</div>
<div class="form-group">
<label for="role">Role</label>
<select class="form-control" id="role" name="role"
value="" required>
<option value="1">Admin</option>
<option value="2">Jawatankuasa Audit</option>
</select>
</div>
</form>
<div class="form-group">
<input type="submit" value="Submit" class="btn btn-info" />
<router-link :to="{ name: 'Manage Account' }" class="btn btn-default">Back</router-link>
</div>
</form>
</div>
</div>
</div>
</template>
<script>
export default{
export default {
data: () => ({
loading: false
}),
methods:{
methods: {
add: function () {
if (this.loading || !this.isPasswordMatch()) return;
var vm = this;
this.loading = true;
this.util.notify('Adding Admin', 'loading');
axios.post(config.API+'admin', $('#add_form').serialize())
.then(response=>{
axios.post(config.API + 'admin', $('#add_form').serialize())
.then(response => {
vm.loading = false;
$.notifyClose();
if (vm.util.showResult(response, 'success')) {
vm.$router.push({name: 'Manage Account'});
vm.$router.push({ name: 'Manage Account' });
}
})
.catch(error=>{
.catch(error => {
vm.loading = false;
$.notifyClose();
vm.util.showResult(error, 'error')
vm.util.showResult(error, 'error')
})
},
@@ -65,6 +74,6 @@ export default{
if (!isMatch) this.util.notify('Password not match', 'error');
return isMatch;
}
}
}
}
</script>
@@ -14,22 +14,21 @@
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<!-- {{ users }} -->
<router-link :to="{name: 'Admin Home'}" tag="li" exact><a href="#">Home</a></router-link>
<router-link :to="{name: 'Kemaskini Jawatan'}" tag="li">
<router-link :to="{name: 'Kemaskini Jawatan'}" v-if="data.user.role==1" tag="li">
<a href="#">Jawatan</a>
</router-link>
<router-link :to="{name: 'Manage Partylist'}" tag="li">
<router-link :to="{name: 'Manage Partylist'}" v-if="data.user.role==1" tag="li">
<a href="#">Manage Partylist</a>
</router-link>
<router-link :to="{name: 'Manage Voter'}" tag="li">
<router-link :to="{name: 'Manage Voter'}" v-if="data.user.role==1" tag="li">
<a href="#">Anggota Koperasi</a>
</router-link>
<router-link :to="{name: 'Maklumat Calon'}" tag="li">
<router-link :to="{name: 'Maklumat Calon'}" v-if="data.user.role==1" tag="li">
<a href="#">Calon</a>
</router-link>
@@ -75,9 +74,10 @@
<script>
export default{
data: () =>({
loading: true
}),
// data: () =>({
// loading: true,
// users:{'roles' : 1},
// }),
created: function () {
this.util.setTitle('Voting System - Administrator');