Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
simlitabmas
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Farendi Giotivano R.P
simlitabmas
Commits
5009c008
Commit
5009c008
authored
Apr 23, 2021
by
Muhammad Iskandar Java
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
publikasi jurnal
parent
bf5a22d7
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
584 additions
and
323 deletions
+584
-323
app/Http/Controllers/User/PenelitianSumberDanaController.php
+1
-1
app/Http/Controllers/User/PublikasiJurnalController.php
+165
-6
app/Models/User/PublikasiJurnal.php
+45
-0
app/Models/User/PublikasiJurnalAnggota.php
+45
-0
resources/views/user/penelitiansumber/create.blade.php
+2
-2
resources/views/user/penelitiansumber/index.blade.php
+1
-0
resources/views/user/publikasijurnal/create.blade.php
+16
-195
resources/views/user/publikasijurnal/create_anggota.blade.php
+256
-0
resources/views/user/publikasijurnal/index.blade.php
+31
-118
resources/views/user/publikasijurnal/row_anggota.blade.php
+14
-0
routes/web.php
+8
-1
No files found.
app/Http/Controllers/User/PenelitianSumberDanaController.php
View file @
5009c008
...
...
@@ -275,7 +275,7 @@ class PenelitianSumberDanaController extends Controller
if
(
!
is_null
(
$dosen
)
&&
$request
->
name
==
'dosen'
)
{
$store
[
'jenis'
]
=
$dosen
->
jenis
;
$store
[
'nama'
]
=
$dosen
->
nam
a
;
$store
[
'nama'
]
=
$dosen
->
nam
e
;
}
elseif
(
is_null
(
$dosen
)
&&
$request
->
name
==
'non_dosen'
)
{
$store
[
'jenis'
]
=
'l'
;
...
...
app/Http/Controllers/User/PublikasiJurnalController.php
View file @
5009c008
...
...
@@ -3,7 +3,13 @@
namespace
App\Http\Controllers\User
;
use
App\Http\Controllers\Controller
;
use
App\Models\Biodata
;
use
App\Models\User\PublikasiJurnal
;
use
App\Models\User\PublikasiJurnalAnggota
;
use
Exception
;
use
Illuminate\Http\Request
;
use
Illuminate\Support\Facades\Auth
;
use
Validator
;
class
PublikasiJurnalController
extends
Controller
{
...
...
@@ -14,8 +20,8 @@ class PublikasiJurnalController extends Controller
*/
public
function
index
()
{
//
return
view
(
'user.publikasijurnal.index'
);
$data
[
'rs'
]
=
PublikasiJurnal
::
query
()
->
orderBy
(
'updated_at'
,
'desc'
)
->
get
();
return
view
(
'user.publikasijurnal.index'
,
$data
);
}
/**
...
...
@@ -26,7 +32,8 @@ class PublikasiJurnalController extends Controller
public
function
create
()
{
//
return
view
(
'user.publikasijurnal.create'
);
$data
[
'edit'
]
=
false
;
return
view
(
'user.publikasijurnal.create'
,
$data
);
}
/**
...
...
@@ -37,7 +44,144 @@ class PublikasiJurnalController extends Controller
*/
public
function
store
(
Request
$request
)
{
//
$data
=
$request
->
except
(
'_token'
);
Validator
::
make
(
$data
,
PublikasiJurnal
::
RULES
,
PublikasiJurnal
::
ERROR_MESSAGES
)
->
validate
();
$data
[
'userid_created'
]
=
Auth
::
user
()
->
id
;
$data
[
'userid_updated'
]
=
Auth
::
user
()
->
id
;
$data
[
'halaman'
]
=
abs
(
$data
[
'halaman1'
])
.
'-'
.
abs
(
$data
[
'halaman2'
]);
try
{
$publikasi
=
PublikasiJurnal
::
query
()
->
create
(
$data
);
return
redirect
()
->
route
(
'publikasijurnal.next-form'
,
[
'id'
=>
encrypt
(
$publikasi
->
id
)]);
}
catch
(
Exception
$ex
){
return
redirect
()
->
back
()
->
withInput
();
}
return
redirect
()
->
back
()
->
withInput
();
}
public
function
nextForm
(
Request
$request
,
$id
)
{
$anggota
=
PublikasiJurnalAnggota
::
query
()
->
with
(
'biodata'
)
->
where
(
'publikasijurnal_id'
,
decrypt
(
$id
))
->
get
();
if
(
count
(
$anggota
)
<
1
||
is_null
(
$request
->
next_state
)){
$data
[
'id'
]
=
$id
;
$data
[
'keanggotaan'
]
=
PublikasiJurnalAnggota
::
KEANGGOTAAN
;
$data
[
'dosen_anggota'
]
=
$anggota
->
whereNotNull
(
'nidn'
);
$data
[
'non_dosen_anggota'
]
=
$anggota
->
whereNull
(
'nidn'
);
return
view
(
'user.publikasijurnal.create_anggota'
,
$data
);
}
else
if
(
$request
->
next_state
==
'finish'
&&
count
(
$anggota
)
>
0
){
return
redirect
()
->
route
(
'publikasijurnal.index'
);
}
}
public
function
editAnggota
(
Request
$request
,
$id
)
{
$anggota
=
PublikasiJurnalAnggota
::
query
()
->
with
(
'biodata'
)
->
where
(
'publikasijurnal_id'
,
decrypt
(
$id
))
->
get
();
$data
[
'id'
]
=
$id
;
$data
[
'keanggotaan'
]
=
PublikasiJurnalAnggota
::
KEANGGOTAAN
;
$data
[
'dosen_anggota'
]
=
$anggota
->
whereIn
(
'jenis'
,
[
't'
,
'd'
]);
$data
[
'non_dosen_anggota'
]
=
$anggota
->
whereIn
(
'jenis'
,
[
'l'
]);
return
view
(
'user.publikasijurnal.create_anggota'
,
$data
);
}
public
function
deleteAnggota
(
Request
$request
)
{
try
{
$anggota
=
PublikasiJurnalAnggota
::
query
()
->
find
(
decrypt
(
$request
->
id
))
->
delete
();
return
response
(
'Success'
,
200
);
}
catch
(
Exception
$ex
){
return
response
(
'Error'
,
500
);
}
}
public
function
simpanAnggota
(
Request
$request
,
$id
)
{
$allAnggota
=
PublikasiJurnalAnggota
::
where
(
'publikasijurnal_id'
,
decrypt
(
$id
))
->
get
();
$anggota
=
$allAnggota
->
where
(
'nidn'
,
$request
->
nidn
);
$ketua
=
$allAnggota
->
where
(
'peran'
,
PublikasiJurnalAnggota
::
KEANGGOTAAN
[
'k'
]);
if
(
count
(
$ketua
)
>
0
&&
$request
->
keanggotaan
==
PublikasiJurnalAnggota
::
KEANGGOTAAN
[
'k'
]){
return
response
(
'Ketua tidak boleh lebih dari satu'
,
500
);
}
if
(
count
(
$anggota
)
<
1
||
is_null
(
$request
->
nidn
)){
$dosen
=
null
;
if
(
!
is_null
(
$request
->
nidn
)){
$dosen
=
Biodata
::
query
()
->
where
(
'nidn'
,
$request
->
nidn
)
->
first
();
}
$data
=
$this
->
arrayDataAnggota
(
$request
);
$store
=
$this
->
getStoredArrayDataAnggota
(
$request
,
$id
,
$dosen
);
if
(
is_null
(
$dosen
)
&&
$request
->
name
==
'dosen'
){
return
response
(
'NIDN tidak terdaftar sebagai dosen atau belum tervalidasi'
,
500
);
}
elseif
(
!
is_null
(
$dosen
)
&&
$request
->
name
==
'non_dosen'
){
return
response
(
'NIDN terdaftar sebagai dosen'
,
500
);
}
try
{
Validator
::
make
(
$store
,
PublikasiJurnalAnggota
::
RULES
,
PublikasiJurnalAnggota
::
ERROR_MESSAGES
)
->
validate
();
$anggota
=
PublikasiJurnalAnggota
::
query
()
->
create
(
$store
);
$data
[
'id'
]
=
$anggota
->
id
;
return
view
(
'user.publikasijurnal.row_anggota'
,
$data
);
}
catch
(
Exception
$ex
){
return
response
(
'Data yang diberikan tidak lengkap atau tidak valid'
,
500
);
}
}
return
response
(
'Data sudah ada'
,
500
);
}
private
function
arrayDataAnggota
(
Request
$request
)
{
$data
[
'no'
]
=
$request
->
no
;
$data
[
'nama'
]
=
$request
->
nama
;
$data
[
'keanggotaan'
]
=
$request
->
keanggotaan
;
$data
[
'prodi'
]
=
$request
->
prodi
;
$data
[
'nidn'
]
=
encrypt
(
$request
->
nidn
);
$data
[
'name'
]
=
$request
->
name
;
return
$data
;
}
public
function
getStoredArrayDataAnggota
(
Request
$request
,
$id
,
$dosen
)
{
$store
[
'publikasijurnal_id'
]
=
decrypt
(
$id
);
$store
[
'nidn'
]
=
$request
->
nidn
;
$store
[
'peran'
]
=
$request
->
keanggotaan
;
if
(
!
is_null
(
$dosen
)
&&
$request
->
name
==
'dosen'
)
{
$store
[
'jenis'
]
=
$dosen
->
jenis
;
$store
[
'nama'
]
=
$dosen
->
name
;
}
elseif
(
is_null
(
$dosen
)
&&
$request
->
name
==
'non_dosen'
)
{
$store
[
'jenis'
]
=
'l'
;
$store
[
'institusi'
]
=
$request
->
prodi
;
$store
[
'nama'
]
=
$request
->
nama
;
}
return
$store
;
}
/**
...
...
@@ -59,7 +203,9 @@ class PublikasiJurnalController extends Controller
*/
public
function
edit
(
$id
)
{
//
$data
[
'data'
]
=
PublikasiJurnal
::
query
()
->
find
(
decrypt
(
$id
));
$data
[
'edit'
]
=
true
;
return
view
(
'user.publikasijurnal.create'
,
$data
);
}
/**
...
...
@@ -71,7 +217,20 @@ class PublikasiJurnalController extends Controller
*/
public
function
update
(
Request
$request
,
$id
)
{
//
$data
=
$request
->
except
(
'_token'
);
Validator
::
make
(
$data
,
PublikasiJurnal
::
RULES
,
PublikasiJurnal
::
ERROR_MESSAGES
)
->
validate
();
$data
[
'userid_updated'
]
=
Auth
::
user
()
->
id
;
$data
[
'halaman'
]
=
abs
(
$data
[
'halaman1'
])
.
'-'
.
abs
(
$data
[
'halaman2'
]);
try
{
PublikasiJurnal
::
query
()
->
find
(
decrypt
(
$id
))
->
update
(
$data
);
return
redirect
()
->
route
(
'publikasijurnal.index'
);
}
catch
(
Exception
$ex
){
return
redirect
()
->
back
()
->
withInput
();
}
}
/**
...
...
app/Models/User/PublikasiJurnal.php
0 → 100644
View file @
5009c008
<?php
namespace
App\Models\User
;
use
App\Traits\UuidTrait
;
use
Illuminate\Database\Eloquent\Factories\HasFactory
;
use
Illuminate\Database\Eloquent\Model
;
class
PublikasiJurnal
extends
Model
{
use
HasFactory
;
use
UuidTrait
;
public
$incrementing
=
false
;
protected
$table
=
'publikasijurnal'
;
protected
$keyType
=
'string'
;
protected
$fillable
=
[
'judul'
,
'nama_jurnal'
,
'nomor'
,
'issn'
,
'volume'
,
'halaman'
,
'url'
,
'userid_created'
,
'user_id_updated'
];
public
const
RULES
=
[
'judul'
=>
'required'
,
'nama_jurnal'
=>
'required'
,
'nomor'
=>
'required'
,
'issn'
=>
'required'
,
'volume'
=>
'required'
,
'halaman1'
=>
'required'
,
'halaman2'
=>
'required'
,
'url'
=>
'required'
];
public
const
ERROR_MESSAGES
=
[
'judul.required'
=>
'judul tidak boleh kosong'
,
'nama_jurnal.required'
=>
'nama jurnal tidak boleh kosong'
,
'nomor.required'
=>
'nomor tidak boleh kosong'
,
'issn.required'
=>
'issn tidak boleh kosong'
,
'volume.required'
=>
'volume tidak boleh kosong'
,
'halaman1.required'
=>
'halaman tidak boleh kosong'
,
'halaman2.required'
=>
'halaman tidak boleh kosong'
,
'url.required'
=>
'url tidak boleh kosong'
];
public
function
anggota
()
{
return
$this
->
hasMany
(
PublikasiJurnalAnggota
::
class
,
'publikasijurnal_id'
,
'id'
);
}
}
app/Models/User/PublikasiJurnalAnggota.php
0 → 100644
View file @
5009c008
<?php
namespace
App\Models\User
;
use
App\Models\Biodata
;
use
App\Traits\UuidTrait
;
use
Illuminate\Database\Eloquent\Factories\HasFactory
;
use
Illuminate\Database\Eloquent\Model
;
class
PublikasiJurnalAnggota
extends
Model
{
use
HasFactory
;
use
UuidTrait
;
public
$incrementing
=
false
;
protected
$table
=
'publikasijurnal_anggota'
;
protected
$keyType
=
'string'
;
protected
$fillable
=
[
'nama'
,
'publikasijurnal_id'
,
'nidn'
,
'peran'
,
'tugas'
,
'institusi'
,
'jenis'
,
'userid_created'
,
'userid_updated'
,
'created_at'
,
'updated_at'
,
];
public
const
RULES
=
[
'nama'
=>
'required'
,
'publikasijurnal_id'
=>
'required'
,
'peran'
=>
'required'
,
'jenis'
=>
'required'
];
public
const
ERROR_MESSAGES
=
[
'nama.required'
=>
'nama tidak boleh kosong'
,
'publikasijurnal_id.required'
=>
'publikasijurnal tidak boleh kosong'
,
'peran.required'
=>
'peran tidak boleh kosong'
,
'jenis'
=>
'jenis tidak boleh kosong'
];
public
const
KEANGGOTAAN
=
[
'k'
=>
'Ketua'
,
'a'
=>
'Anggota'
];
public
function
biodata
()
{
return
$this
->
belongsTo
(
Biodata
::
class
,
'nidn'
,
'nidn'
);
}
}
resources/views/user/penelitiansumber/create.blade.php
View file @
5009c008
...
...
@@ -134,8 +134,8 @@
<div class="
account
-
settings
-
footer
">
<div class="
as
-
footer
-
container
">
<
button id="
multiple
-
reset
" class="
btn
btn
-
warning
">Batal</button
>
<button id="
multiple
-
messages
" class="
btn
btn
-
primary
">Simpan</button>
<
a href="
{{
route
(
'publikasijurnal.index'
)
}}
" id="
multiple
-
reset
" class="
btn
btn
-
warning
">Batal</a
>
<button
type="
submit
"
id="
multiple
-
messages
" class="
btn
btn
-
primary
">Simpan</button>
</div>
</div>
</form>
...
...
resources/views/user/penelitiansumber/index.blade.php
View file @
5009c008
...
...
@@ -18,6 +18,7 @@
<div class="
col
-
xl
-
12
col
-
lg
-
12
col
-
sm
-
12
layout
-
spacing
">
<div class="
widget
-
content
widget
-
content
-
area
br
-
6
">
<div class="
table
-
responsive
mb
-
4
mt
-
4
">
<a href="
{{
url
(
'penelitiansumber/create'
)
}}
" class="
btn
btn
-
primary
mb
-
2
"><i data-feather="
file
-
plus
"></i> Tambah</a>
<table id="
zero
-
config
" class="
table
table
-
hover
" style="
width
:
100
%
">
<thead>
<tr>
...
...
resources/views/user/publikasijurnal/create.blade.php
View file @
5009c008
...
...
@@ -15,13 +15,16 @@
$menu
= 'dashboard';
@endphp
<div class="
account
-
settings
-
container
layout
-
top
-
spacing
">
<form action="
{{
$edit
?
route
(
'publikasijurnal.update'
,
[
'publikasijurnal'
=>
encrypt
(
$data
->
id
)])
:
route
(
'publikasijurnal.store'
)
}}
" method="
POST
">
@if (
$edit
)
{{ method_field('PUT') }}
@endif
@csrf
<div class="
account
-
content
">
<div class="
scrollspy
-
example
" data-spy="
scroll
" data-target="
#account-settings-scroll" data-offset="-100">
<
div
class
="
row
">
<div class="
col
-
xl
-
12
col
-
lg
-
12
col
-
md
-
12
layout
-
spacing
">
<form id="
contact
" class="
section
contact
">
<div class="
info
">
<h5 class="">Data Publikasi Jurnal Internasional</h5>
<div class="
row
">
...
...
@@ -30,31 +33,31 @@
<div class="
col
-
md
-
12
">
<div class="
form
-
group
">
<label>Judul</label>
<textarea class="
form
-
control
" id="
judul
" placeholder="
Judul
"
rows="
3
">
</textarea>
<textarea class="
form
-
control
" id="
judul
" placeholder="
Judul
"
name="
judul
" rows="
3
">{{
$edit
?
$data->judul
: old('judul') }}
</textarea>
</div>
</div>
<div class="
col
-
md
-
6
">
<div class="
form
-
group
">
<label>Nama Jurnal</label>
<input type="
text
" class="
form
-
control
mb
-
4
" id="
nama
"
placeholder="
Nama
Jurnal
">
<input type="
text
" class="
form
-
control
mb
-
4
" id="
nama
"
name="
nama_jurnal
" placeholder="
Nama
Jurnal
" value="
{{
$edit
?
$data
->
nama_jurnal
:
old
(
'nama_jurnal'
)
}}
">
</div>
</div>
<div class="
col
-
md
-
6
">
<div class="
form
-
group
">
<label>ISSN</label>
<input type="
text
" class="
form
-
control
mb
-
4
" id="
issn
" placeholder="
ISSN
">
<input type="
text
" class="
form
-
control
mb
-
4
" id="
issn
" placeholder="
ISSN
"
name="
issn
" value="
{{
$edit
?
$data
->
issn
:
old
(
'issn'
)
}}
"
>
</div>
</div>
<div class="
col
-
md
-
6
">
<div class="
form
-
group
">
<label>Volume</label>
<input type="
text
" class="
form
-
control
mb
-
4
" id="
volume
" placeholder="
Volume
">
<input type="
text
" class="
form
-
control
mb
-
4
" id="
volume
" placeholder="
Volume
"
name="
volume
" value="
{{
$edit
?
$data
->
volume
:
old
(
'volume'
)
}}
"
>
</div>
</div>
<div class="
col
-
md
-
6
">
<div class="
form
-
group
">
<label>Nomor</label>
<input type="
text
" class="
form
-
control
mb
-
4
" id="
nomor
" placeholder="
Nomor
">
<input type="
text
" class="
form
-
control
mb
-
4
" id="
nomor
" placeholder="
Nomor
"
name="
nomor
" value="
{{
$edit
?
$data
->
nomor
:
old
(
'nomor'
)
}}
"
>
</div>
</div>
<div class="
col
-
md
-
6
">
...
...
@@ -62,7 +65,7 @@
<div class="
row
">
<div class="
col
-
xl
-
5
">
<div class="
form
-
group
">
<input type="
text
" class="
form
-
control
mb
-
4
" id="
halaman
"
>
<input type="
number
" min="
0
" class="
form
-
control
mb
-
4
" id="
halaman1
" name="
halaman1
" value="
{{
$edit
?
explode
(
'-'
,
$data
->
halaman
)[
0
]
:
old
(
'halaman1'
)
}}
" required
>
</div>
</div>
<div class="
col
-
xl
-
1
">
...
...
@@ -72,7 +75,7 @@
</div>
<div class="
col
-
xl
-
5
">
<div class="
form
-
group
">
<input type="
text
" class="
form
-
control
mb
-
4
" id="
halaman
"
>
<input type="
number
" min="
0
" class="
form
-
control
mb
-
4
" id="
halaman2
" name="
halaman2
" value="
{{
$edit
?
explode
(
'-'
,
$data
->
halaman
)[
1
]
:
old
(
'halaman2'
)
}}
" required
>
</div>
</div>
</div>
...
...
@@ -80,199 +83,16 @@
<div class="
col
-
md
-
6
">
<div class="
form
-
group
">
<label>Url Artikel</label>
<input type="
text
" class="
form
-
control
mb
-
4
" id="
tempat
"
placeholder="
URL
Artikel
"
>
<input type="
text
" class="
form
-
control
mb
-
4
" id="
tempat
"
name="
url
" placeholder="
URL
Artikel
" value="
{{
$edit
?
$data
->
url
:
old
(
'url'
)
}}
" required
>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="
col
-
xl
-
12
col
-
lg
-
12
col
-
md
-
12
layout
-
spacing
">
<form id="
general
-
info
" class="
section
general
-
info
">
<div class="
info
">
<h6 class="">Personil Dosen</h6>
<div class="
row
">
<div class="
col
-
lg
-
11
mx
-
auto
">
<div class="
row
">
<div class="
col
-
md
-
8
">
<div class="
table
-
responsive
">
<table class="
table
table
-
bordered
mb
-
4
">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Program Studi</th>
<th class="
text
-
center
">Keanggotaan</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Shaun Park</td>
<td>10/08/2020</td>
<td>320</td>
<td class="
text
-
center
"><span class="
text
-
success
">Complete</span></td>
<td class="
text
-
center
"></td>
</tr>
<tr>
<td>Alma Clarke</td>
<td>11/08/2020</td>
<td>420</td>
<td class="
text
-
center
"><span class="
text
-
secondary
">Pending</span></td>
<td class="
text
-
center
"></td>
</tr>
<tr>
<td>Xavier</td>
<td>12/08/2020</td>
<td>130</td>
<td class="
text
-
center
"><span class="
text
-
info
">In progress</span></td>
<td class="
text
-
center
"></td>
</tr>
<tr>
<td>Vincent Carpenter</td>
<td>13/08/2020</td>
<td>260</td>
<td class="
text
-
center
"><span class="
text
-
danger
">Canceled</span></td>
<td class="
text
-
center
"></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="
col
-
md
-
4
">
<div class="
input
-
group
mb
-
4
">
<input type="
text
" class="
form
-
control
" placeholder="
NIDN
" aria-label="
nidn
">
<div class="
input
-
group
-
append
">
<button class="
btn
btn
-
info
" type="
button
">Cek</button>
</div>
</div>
<div class="
form
-
row
mb
-
4
">
<div class="
form
-
group
col
-
md
-
6
">
<label for="
inputEmail4
">Nama Dosen</label>
<input type="
text
" class="
form
-
control
" id="
namadosen
">
</div>
<div class="
form
-
group
col
-
md
-
6
">
<label for="
inputPassword4
">Program Studi</label>
<input type="
text
" class="
form
-
control
" id="
programstudi
">
</div>
<div class="
form
-
group
col
-
md
-
6
">
<div class="
form
-
group
">
<label>Keanggotaan</label>
<select class="
form
-
control
" id="
institusi
">
<option>Penelitian Dasar</option>
<option>Norway</option>
<option>Canada</option>
</select>
</div>
</div>
<div class="
form
-
group
col
-
md
-
6
">
</div>
<div class="
form
-
group
col
-
md
-
6
">
<button id="
multiple
-
messages
" class="
btn
btn
-
primary
">Save Changes</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<div class="
col
-
xl
-
12
col
-
lg
-
12
col
-
md
-
12
layout
-
spacing
">
<form id="
general
-
info
" class="
section
general
-
info
">
<div class="
info
">
<h6 class="">Personil Non Dosen</h6>
<div class="
row
">
<div class="
col
-
lg
-
11
mx
-
auto
">
<div class="
row
">
<div class="
col
-
md
-
8
">
<div class="
table
-
responsive
">
<table class="
table
table
-
bordered
mb
-
4
">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Program Studi</th>
<th class="
text
-
center
">Keanggotaan</th>
<th></th>
</tr>
</thead>
<tbody>
<tr>
<td>Shaun Park</td>
<td>10/08/2020</td>
<td>320</td>
<td class="
text
-
center
"><span class="
text
-
success
">Complete</span></td>
<td class="
text
-
center
"></td>
</tr>
<tr>
<td>Alma Clarke</td>
<td>11/08/2020</td>
<td>420</td>
<td class="
text
-
center
"><span class="
text
-
secondary
">Pending</span></td>
<td class="
text
-
center
"></td>
</tr>
<tr>
<td>Xavier</td>
<td>12/08/2020</td>
<td>130</td>
<td class="
text
-
center
"><span class="
text
-
info
">In progress</span></td>
<td class="
text
-
center
"></td>
</tr>
<tr>
<td>Vincent Carpenter</td>
<td>13/08/2020</td>
<td>260</td>
<td class="
text
-
center
"><span class="
text
-
danger
">Canceled</span></td>
<td class="
text
-
center
"></td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="
col
-
md
-
4
">
<div class="
input
-
group
mb
-
4
">
<input type="
text
" class="
form
-
control
" placeholder="
NIDN
" aria-label="
nidn
">
<div class="
input
-
group
-
append
">
<button class="
btn
btn
-
info
" type="
button
">Cek</button>
</div>
</div>
<div class="
form
-
row
mb
-
4
">
<div class="
form
-
group
col
-
md
-
6
">
<label for="
inputEmail4
">Nama Dosen</label>
<input type="
text
" class="
form
-
control
" id="
namadosen
">
</div>
<div class="
form
-
group
col
-
md
-
6
">
<label for="
inputPassword4
">Program Studi</label>
<input type="
text
" class="
form
-
control
" id="
programstudi
">
</div>
<div class="
form
-
group
col
-
md
-
6
">
<div class="
form
-
group
">
<label>Keanggotaan</label>
<select class="
form
-
control
" id="
institusi
">
<option>Penelitian Dasar</option>
<option>Norway</option>
<option>Canada</option>
</select>
</div>
</div>
<div class="
form
-
group
col
-
md
-
6
">
</div>
<div class="
form
-
group
col
-
md
-
6
">
<button id="
multiple
-
messages
" class="
btn
btn
-
primary
">Save Changes</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
</div>
</div>
...
...
@@ -280,10 +100,11 @@
<div class="
account
-
settings
-
footer
">
<div class="
as
-
footer
-
container
">
<
button id="
multiple
-
reset
" class="
btn
btn
-
warning
">Batal</button
>
<button id="
multiple
-
messages
" class="
btn
btn
-
primary
">S
ave Changes
</button>
<
a href="
{{
route
(
'publikasijurnal.index'
)
}}
" id="
multiple
-
reset
" class="
btn
btn
-
warning
">Batal</a
>
<button id="
multiple
-
messages
" class="
btn
btn
-
primary
">S
impan
</button>
</div>
</div>
</form>
</div>
@endsection
...
...
resources/views/user/publikasijurnal/create_anggota.blade.php
0 → 100644
View file @
5009c008
@
extends
(
'layouts.master'
)
@
section
(
'title'
)
Publikasi
Jurnal
@
endsection
@
section
(
'header'
)
<
div
class
="
page
-
title
">
<h3>Publikasi Jurnal</h3>
</div>
@endsection
@section('contents')
@php
$menu
= 'dashboard';
@endphp
<div class="
account
-
settings
-
container
layout
-
top
-
spacing
">
<div class="
account
-
content
">
<div class="
scrollspy
-
example
" data-spy="
scroll
" data-target="
#account-settings-scroll" data-offset="-100">
<
div
class
="
row
">
<div class="
col
-
xl
-
12
col
-
lg
-
12
col
-
md
-
12
layout
-
spacing
">
<div id="
general
-
info
" class="
section
general
-
info
">
<div class="
info
">
<h6 class="">Personil Dosen</h6>
<div class="
row
">
<div class="
col
-
lg
-
11
mx
-
auto
">
<div class="
row
">
<div class="
col
-
md
-
8
">
<div class="
table
-
responsive
">
<table class="
table
table
-
bordered
mb
-
4
">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Program Studi</th>
<th class="
text
-
center
">Keanggotaan</th>
<th>Aksi</th>
</tr>
</thead>
<tbody id="
table_dosen_nidn
">
@foreach (
$dosen_anggota
as
$item
)
@php
$token
= Str::random(10)
@endphp
<tr id="
dosen_
{{
$token
}}
">
<td>{{
$loop->iteration
}}</td>
<td>{{
$item->biodata
->name }}</td>
<td>{{
$item->biodata
->prodi }}</td>
<td class="
text
-
center
">{{
$item->peran
}}</td>
<td>
<button class="
btn
btn
-
sm
btn
-
danger
" type="
button
" onclick="
deleteAnggota
(
'{{ encrypt($item->id) }}'
,
'dosen_{{ $token }}'
)
">Hapus</button>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<div class="
col
-
md
-
4
">
<div class="
input
-
group
mb
-
4
">
<input type="
text
" class="
form
-
control
" id="
input_dosen_nidn
" placeholder="
NIDN
" aria-label="
nidn
">
<div class="
input
-
group
-
append
">
<button type="
button
" onclick="
checkNidn
(
'dosen_nidn'
)
" class="
btn
btn
-
info
" type="
button
">Cek</button>
</div>
</div>
<div class="
form
-
row
mb
-
4
">
<div class="
form
-
group
col
-
md
-
6
">
<label for="
inputEmail4
">Nama Dosen</label>
<input type="
text
" class="
form
-
control
" id="
nama_dosen_nidn
">
</div>
<div class="
form
-
group
col
-
md
-
6
">
<label for="
inputPassword4
">Program Studi</label>
<input type="
text
" class="
form
-
control
" id="
prodi_dosen_nidn
">
</div>
<div class="
form
-
group
col
-
md
-
6
">
<div class="
form
-
group
">
<label>Keanggotaan</label>
<select class="
form
-
control
" id="
keanggotaan_dosen_nidn
">
@foreach (
$keanggotaan
as
$item
)
<option>{{
$item
}}</option>
@endforeach
</select>
</div>
</div>
<div class="
form
-
group
col
-
md
-
6
">
<input type="
text
" id="
dosen_nidn
" value="" hidden>
</div>
<div class="
form
-
group
col
-
md
-
6
">
<button type="
button
" onclick="
saveDosen
(
'dosen_nidn'
)
" id="
multiple
-
messages
" class="
btn
btn
-
primary
">Save Changes</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="
col
-
xl
-
12
col
-
lg
-
12
col
-
md
-
12
layout
-
spacing
">
<div id="
general
-
info
" class="
section
general
-
info
">
<div class="
info
">
<h6 class="">Personil Non Dosen</h6>
<div class="
row
">
<div class="
col
-
lg
-
11
mx
-
auto
">
<div class="
row
">
<div class="
col
-
md
-
8
">
<div class="
table
-
responsive
">
<table class="
table
table
-
bordered
mb
-
4
">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>Institusi</th>
<th class="
text
-
center
">Keanggotaan</th>
<th></th>
</tr>
</thead>
<tbody id="
table_non_dosen_nip
">
@foreach (
$non_dosen_anggota
as
$item
)
@php
$token
= Str::random(10)
@endphp
<tr id="
non_dosen_
{{
$token
}}
">
<td>{{
$loop->iteration
}}</td>
<td>{{
$item->nama
}}</td>
<td>{{
$item->institusi
}}</td>
<td class="
text
-
center
">{{
$item->peran
}}</td>
<td>
<button class="
btn
btn
-
sm
btn
-
danger
" type="
button
" onclick="
deleteAnggota
(
'{{ encrypt($item->id) }}'
,
'non_dosen_{{ $token }}'
)
">Hapus</button>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
<div class="
col
-
md
-
4
">
<div class="
form
-
row
mb
-
4
">
<div class="
form
-
group
col
-
md
-
6
">
<label for="
inputEmail4
">Nama</label>
<input type="
text
" class="
form
-
control
" id="
nama_non_dosen_nip
">
</div>
<div class="
form
-
group
col
-
md
-
6
">
<label for="
inputPassword4
">Institusi</label>
<input type="
text
" class="
form
-
control
" id="
prodi_non_dosen_nip
">
</div>
<div class="
form
-
group
col
-
md
-
6
">
<div class="
form
-
group
">
<label>Keanggotaan</label>
<select class="
form
-
control
" id="
keanggotaan_non_dosen_nip
">
@foreach (
$keanggotaan
as
$item
)
<option>{{
$item
}}</option>
@endforeach
</select>
</div>
</div>
<div class="
form
-
group
col
-
md
-
6
">
</div>
<div class="
form
-
group
col
-
md
-
6
">
<button onclick="
saveNonDosen
(
'non_dosen_nip'
)
" type="
button
" id="
multiple
-
messages
" class="
btn
btn
-
primary
">Save Changes</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<form action="
{{
route
(
'publikasijurnal.next-form'
,
[
'id'
=>
$id
])
}}
">
<div class="
account
-
settings
-
footer
">
<div class="
as
-
footer
-
container
">
@csrf
<input type="
text
" name="
next_state
" value="
finish
" hidden>
<a href="
{{
route
(
'publikasijurnal.index'
)
}}
" id="
multiple
-
reset
" class="
btn
btn
-
warning
">Batal</a>
<button id="
multiple
-
messages
" class="
btn
btn
-
primary
">Selesai</button>
</div>
</div>
</form>
</div>
@endsection
@section('js')
<script src="
{{
url
(
'theme/plugins/apex/apexcharts.min.js'
)
}}
"></script>
<script src="
{{
url
(
'theme/assets/js/dashboard/dash_2.js'
)
}}
"></script>
<script>
var iDosen = {{ count(
$dosen_anggota
) + 1 }};
var iNonDosen = {{ count(
$non_dosen_anggota
) + 1 }};
function checkNidn(id){
var value = $('#input_'+id).val();
var request = $.ajax({
url: "
{{
route
(
'get-biodata'
)
}}
",
type: "
get
",
dataType: "
json
",
data:
{
nidn:value
}
,
success: function(result){
$('#nama_'+id).val(result['name']);
$('#prodi_'+id).val(result['prodi']);
$('#'+id).val(result['nidn']);
}
})
}
function saveDosen(id){
save(id, 'dosen', iDosen++);
}
function saveNonDosen(id){
save(id, 'non_dosen', iNonDosen++);
}
function save(id, name, no){
var nama = $('#nama_'+id).val();
var prodi = $('#prodi_'+id).val();
var nidn = $('#'+id).val();
var keanggotaan = $('#keanggotaan_'+id).val();
var csrf = "
{{
csrf_token
()
}}
";
var request = $.ajax({
url: "
{{
route
(
'publikasijurnal.simpan-anggota'
,
[
'id'
=>
$id
])
}}
",
type: "
post
",
dataType: "
html
",
data: {nama:nama, prodi:prodi, nidn:nidn, keanggotaan:keanggotaan, name:name, no:no, _token: csrf},
success: function(result){
$('#table_'+id).append(result);
},
error: function(xhr, status, error) {
alert(xhr.responseText);
}
})
}
function deleteAnggota(id, element){
var csrf = "
{{
csrf_token
()
}}
";
var request = $.ajax({
url: "
{{
route
(
'publikasijurnal.delete-anggota'
)
}}
",
type: "
post
",
dataType: "
html
",
data: { _token: csrf, id: id},
success: function(result){
$("
#"+element).remove();
},
error
:
function
(
xhr
,
status
,
error
)
{
alert
(
xhr
.
responseText
);
}
})
}
</
script
>
@
endsection
resources/views/user/publikasijurnal/index.blade.php
View file @
5009c008
...
...
@@ -18,130 +18,43 @@
<div class="
col
-
xl
-
12
col
-
lg
-
12
col
-
sm
-
12
layout
-
spacing
">
<div class="
widget
-
content
widget
-
content
-
area
br
-
6
">
<div class="
table
-
responsive
mb
-
4
mt
-
4
">
<a href="
{{
url
(
'publikasijurnal/create'
)
}}
" class="
btn
btn
-
primary
mb
-
2
"><i data-feather="
file
-
plus
"></i> Tambah</a>
<table id="
zero
-
config
" class="
table
table
-
hover
" style="
width
:
100
%
">
<thead>
<tr>
<th>Name</th>
<th>Position</th>
<th>Office</th>
<th>Age</th>
<th>Start date</th>
<th>Salary</th>
<th>No.</th>
<th>Judul</th>
<th>Nama Jurnal</th>
<th>ISSN</th>
<th>Volume</th>
<th>Nomor</th>
<th>Halaman</th>
<th>URL</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tiger Nixon</td>
<td>System Architect</td>
<td>Edinburgh</td>
<td>61</td>
<td>2011/04/25</td>
<td>$320,800</td>
</tr>
<tr>
<td>Garrett Winters</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>63</td>
<td>2011/07/25</td>
<td>$170,750</td>
</tr>
<tr>
<td>Ashton Cox</td>
<td>Junior Technical Author</td>
<td>San Francisco</td>
<td>66</td>
<td>2009/01/12</td>
<td>$86,000</td>
</tr>
<tr>
<td>Cedric Kelly</td>
<td>Senior Javascript Developer</td>
<td>Edinburgh</td>
<td>22</td>
<td>2012/03/29</td>
<td>$433,060</td>
</tr>
<tr>
<td>Airi Satou</td>
<td>Accountant</td>
<td>Tokyo</td>
<td>33</td>
<td>2008/11/28</td>
<td>$162,700</td>
</tr>
<tr>
<td>Brielle Williamson</td>
<td>Integration Specialist</td>
<td>New York</td>
<td>61</td>
<td>2012/12/02</td>
<td>$372,000</td>
</tr>
<tr>
<td>Herrod Chandler</td>
<td>Sales Assistant</td>
<td>San Francisco</td>
<td>59</td>
<td>2012/08/06</td>
<td>$137,500</td>
</tr>
<tr>
<td>Rhona Davidson</td>
<td>Integration Specialist</td>
<td>Tokyo</td>
<td>55</td>
<td>2010/10/14</td>
<td>$327,900</td>
</tr>
<tr>
<td>Colleen Hurst</td>
<td>Javascript Developer</td>
<td>San Francisco</td>
<td>39</td>
<td>2009/09/15</td>
<td>$205,500</td>
</tr>
<tr>
<td>Sonya Frost</td>
<td>Software Engineer</td>
<td>Edinburgh</td>
<td>23</td>
<td>2008/12/13</td>
<td>$103,600</td>
</tr>
<tr>
<td>Jena Gaines</td>
<td>Office Manager</td>
<td>London</td>
<td>30</td>
<td>2008/12/19</td>
<td>$90,560</td>
</tr>
<tr>
<td>Quinn Flynn</td>
<td>Support Lead</td>
<td>Edinburgh</td>
<td>22</td>
<td>2013/03/03</td>
<td>$342,000</td>
</tr>
<tr>
<td>Charde Marshall</td>
<td>Regional Director</td>
<td>San Francisco</td>
<td>36</td>
<td>2008/10/16</td>
<td>$470,600</td>
</tr>
<tr>
<td>Haley Kennedy</td>
<td>Senior Marketing Designer</td>
<td>London</td>
<td>43</td>
<td>2012/12/18</td>
<td>$313,500</td>
</tr>
@foreach (
$rs
as
$item
)
<tr>
<td>{{
$loop->iteration
}}</td>
<td>{{
$item->judul
}}</td>
<td>{{
$item->nama_jurnal
}}</td>
<td>{{
$item->issn
}}</td>
<td>{{
$item->volume
}}</td>
<td>{{
$item->nomor
}}</td>
<td>{{
$item->halaman
}}</td>
<td>{{
$item->url
}}</td>
<td>
<a class="
btn
btn
-
sm
btn
-
warning
" href="
{{
route
(
'publikasijurnal.edit'
,
[
'publikasijurnal'
=>
encrypt
(
$item
->
id
)])
}}
">Edit</a>
<a class="
btn
btn
-
sm
btn
-
warning
" href="
{{
route
(
'publikasijurnal.edit-anggota'
,
[
'id'
=>
encrypt
(
$item
->
id
)])
}}
">Edit Anggota</a>
<button class="
btn
btn
-
sm
btn
-
danger
delete
" type="
button
" data-target="
form_penelitian_
{{
$loop
->
iteration
}}
">Hapus</button>
<form id="
form_penelitian_
{{
$loop
->
iteration
}}
" action="
{{
route
(
'publikasijurnal.destroy'
,
[
'publikasijurnal'
=>
encrypt
(
$item
->
id
)])
}}
" method="
POST
">
{{ method_field('DELETE') }}
@csrf
</form>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
...
...
resources/views/user/publikasijurnal/row_anggota.blade.php
0 → 100644
View file @
5009c008
@
php
$token
=
Str
::
random
(
10
)
@
endphp
<
tr
id
=
"{{
$name
}}_{{
$token
}}"
>
<
td
>
{{
$no
}}
</
td
>
<
td
>
{{
$nama
}}
</
td
>
<
td
>
{{
$prodi
}}
</
td
>
<
td
class
="
text
-
center
">{{
$keanggotaan
}}</td>
<td>
<button class="
btn
btn
-
sm
btn
-
danger
" type="
button
" onclick="
deleteAnggota
(
'{{ encrypt($id) }}'
,
'{{ $name }}_{{ $token }}'
)
">Hapus</button>
</td>
</tr>
routes/web.php
View file @
5009c008
...
...
@@ -46,15 +46,22 @@ Route::middleware(['auth:sanctum', 'verified'])->group(function () {
Route
::
resource
(
'/fasilitas'
,
FasilitasController
::
class
);
Route
::
resource
(
'/kekayaanintelek'
,
KekayaanIntelController
::
class
);
Route
::
resource
(
'/kontrakkerja'
,
KontrakKerjaController
::
class
);
Route
::
resource
(
'/penelitiansumber'
,
PenelitianSumberDanaController
::
class
);
Route
::
get
(
'/penelitiansumber/next-form/{id}'
,
[
PenelitianSumberDanaController
::
class
,
'nextForm'
])
->
name
(
'penelitiansumber.next-form'
);
Route
::
get
(
'/penelitiansumber/edit-anggota/{id}'
,
[
PenelitianSumberDanaController
::
class
,
'editAnggota'
])
->
name
(
'penelitiansumber.edit-anggota'
);
Route
::
post
(
'/penelitiansumber/simpan-anggota/{id}'
,
[
PenelitianSumberDanaController
::
class
,
'simpanAnggota'
])
->
name
(
'penelitiansumber.simpan-anggota'
);
Route
::
post
(
'/penelitiansumber/delete-anggota'
,
[
PenelitianSumberDanaController
::
class
,
'deleteAnggota'
])
->
name
(
'penelitiansumber.delete-anggota'
);
Route
::
post
(
'/penelitiansumber/cek-simpan-anggota'
,
[
PenelitianSumberDanaController
::
class
,
'cekSimpanAnggota'
])
->
name
(
'penelitiansumber.cek-simpan-anggota'
);
Route
::
resource
(
'/penelitiasing'
,
PenelitiAsingController
::
class
);
Route
::
resource
(
'/publikasiartikel'
,
PublikasiArtikelController
::
class
);
Route
::
resource
(
'/publikasijurnal'
,
PublikasiJurnalController
::
class
);
Route
::
get
(
'/publikasijurnal/next-form/{id}'
,
[
PublikasiJurnalController
::
class
,
'nextForm'
])
->
name
(
'publikasijurnal.next-form'
);
Route
::
get
(
'/publikasijurnal/edit-anggota/{id}'
,
[
PublikasiJurnalController
::
class
,
'editAnggota'
])
->
name
(
'publikasijurnal.edit-anggota'
);
Route
::
post
(
'/publikasijurnal/simpan-anggota/{id}'
,
[
PublikasiJurnalController
::
class
,
'simpanAnggota'
])
->
name
(
'publikasijurnal.simpan-anggota'
);
Route
::
post
(
'/publikasijurnal/delete-anggota'
,
[
PublikasiJurnalController
::
class
,
'deleteAnggota'
])
->
name
(
'publikasijurnal.delete-anggota'
);
Route
::
resource
(
'/penyelenggaraseminar'
,
PenyelenggaraanSeminarController
::
class
);
Route
::
resource
(
'/stafpendukung'
,
StafPendukungController
::
class
);
Route
::
resource
(
'/unitbisnis'
,
UnitBisnisController
::
class
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment