Commit 2be5a845 authored by Fachri's avatar Fachri

Merge branch 'master' of http://git.khansia.co.id/Nahrowi/oku-gis

# Conflicts:
#	static/css/layout-style.css
#	templates/layout/layout.html
parents 4cb87c94 8ecf5493
...@@ -21,6 +21,9 @@ urlpatterns = [ ...@@ -21,6 +21,9 @@ urlpatterns = [
path('editkependudukan/', views.editkependudukan, name='kependudukan'), path('editkependudukan/', views.editkependudukan, name='kependudukan'),
path('valideditkependudukan', views.valideditkependudukan, name='valideditkependudukan'), path('valideditkependudukan', views.valideditkependudukan, name='valideditkependudukan'),
path('editspo', views.editpointsearch, name='editspo'),
path('editkantor', views.editpointka, name='editkantor'), path('editkantor', views.editpointka, name='editkantor'),
path('editlakes', views.editpointlk, name='editlakes'), path('editlakes', views.editpointlk, name='editlakes'),
path('editpks', views.editpointpks, name='editpks'), path('editpks', views.editpointpks, name='editpks'),
...@@ -33,6 +36,7 @@ urlpatterns = [ ...@@ -33,6 +36,7 @@ urlpatterns = [
path('edittr', views.editpointtr, name='edittr'), path('edittr', views.editpointtr, name='edittr'),
path('editcb', views.editpointcb, name='editcb'), path('editcb', views.editpointcb, name='editcb'),
path('saveeditspo', views.editsearchpoint, name='saveeditspo'),
path('rumahsakit', views.editrumahsakit, name='rumahsakit'), path('rumahsakit', views.editrumahsakit, name='rumahsakit'),
path('cagarbudaya', views.editcagarbudaya, name='cagarbudaya'), path('cagarbudaya', views.editcagarbudaya, name='cagarbudaya'),
path('kantor', views.editkantoradmin, name='kantor'), path('kantor', views.editkantoradmin, name='kantor'),
...@@ -55,6 +59,7 @@ urlpatterns = [ ...@@ -55,6 +59,7 @@ urlpatterns = [
path('c_bangunan', views.createbang, name='c_bangunan'), path('c_bangunan', views.createbang, name='c_bangunan'),
path('create-jalan', views.createjalan, name='create-jalan'), path('create-jalan', views.createjalan, name='create-jalan'),
path('create-point', views.createpoint, name='create-point'), path('create-point', views.createpoint, name='create-point'),
path('c_lahan', views.createlahan, name='c_lahan'),
path('edit-tuplah', login_required(views.edittuplah), name='edit-tuplah'), path('edit-tuplah', login_required(views.edittuplah), name='edit-tuplah'),
path('edit-tuplah-valid', views.edittuplahvalid, name='edit-tuplah-valid'), path('edit-tuplah-valid', views.edittuplahvalid, name='edit-tuplah-valid'),
...@@ -75,6 +80,7 @@ urlpatterns = [ ...@@ -75,6 +80,7 @@ urlpatterns = [
path('search_lanjut', views.search_lanjut, name='search_lanjut'), path('search_lanjut', views.search_lanjut, name='search_lanjut'),
path('load_point_id', views.load_point_id), path('load_point_id', views.load_point_id),
path('edit_detail_poin', views.edit_detail_poin), path('edit_detail_poin', views.edit_detail_poin),
path('dpoint', views.dpoint, name='dpoint'),
path('download_perbaikan_data', views.download_perbaikan_data) path('download_perbaikan_data', views.download_perbaikan_data)
] ]
\ No newline at end of file
...@@ -60,9 +60,25 @@ def search_auto(request): ...@@ -60,9 +60,25 @@ def search_auto(request):
def tuplah(request): def tuplah(request):
with conn.cursor() as desa: with conn.cursor() as desa:
desa.execute(f"SELECT json_build_object('type', 'Feature', 'legend', (a.id, a.legenda, st_area(a.geom::geography), a.gambar) ,'geometry', ST_AsGeoJSON( st_intersection(a.geom, b.geom):: geometry) :: json) from geo_tuplah a, geo_prov_kab b where b.kabupaten = 'OGAN KOMERING ULU'") desa.execute(f"""SELECT
all = desa.fetchall() json_build_object (
'type',
'Feature',
'legend',
( A.ID, A.legenda, st_area ( A.geom :: geography ), A.gambar ),
'geometry',
ST_AsGeoJSON ( st_intersection ( A.geom, b.geom ) :: geometry ) :: json
)
FROM
geo_tuplah A,
geo_prov_kab b
WHERE
b.kabupaten = 'OGAN KOMERING ULU'""")
all = desa.fetchall()
ltup = []
for i in all:
i[0]['legend']['f3'] = '{0:,.2f}'.format(i[0]['legend']['f3'])
ltup.append(i[0])
data = {'tuplah':all} data = {'tuplah':all}
return Response(data) return Response(data)
...@@ -256,6 +272,50 @@ def editpoly(request): ...@@ -256,6 +272,50 @@ def editpoly(request):
return Response(build[0][0]) return Response(build[0][0])
@api_view(('GET',))
@renderer_classes((TemplateHTMLRenderer, JSONRenderer))
def editpointsearch(request):
if request.method == 'GET':
id_point = request.GET.get("id_point")
db_point = request.GET.get("db_point")
if (db_point == "geo_cagar_budaya" or db_point == "geo_terminal_bus"):
l = "a.luas"
else:
l = "a.luas_tanah"
print(id_point, db_point, l)
with conn.cursor() as buldings:
buldings.execute("""SELECT
json_build_object (
'type',
'Feature',
'administrasi',
(
a.id,
A.namobj,
A.remark,
A.alamat,
A.gambar,
A.perangkat,
A.tipe_gambar,
b.kabupaten,
c.kecamatan,
d.desa,
%s
),
'geometry',
ST_AsGeoJSON ( A.geom :: geometry ) :: json
)
FROM
%s A
JOIN geo_prov_kab b ON st_intersects ( A.geom, b.geom )
JOIN geo_data_kecamatan c ON st_intersects(A.geom, c.geom)
join geo_data_kelurahan d on st_intersects(A.geom, d.geom)
WHERE a.is_deleted = 0 and a.id = %s"""% (l, db_point, int(id_point)))
build = buldings.fetchall()
return Response(build[0][0])
@api_view(('GET',)) @api_view(('GET',))
@renderer_classes((TemplateHTMLRenderer, JSONRenderer)) @renderer_classes((TemplateHTMLRenderer, JSONRenderer))
def editpointka(request): def editpointka(request):
...@@ -1628,7 +1688,67 @@ def valideditkependudukan(request): ...@@ -1628,7 +1688,67 @@ def valideditkependudukan(request):
data = data_kependuduk[0] data = data_kependuduk[0]
return Response(respon) return Response(respon)
@api_view(('POST',))
def editsearchpoint(request):
idsave = request.POST.get('idspo')
dbsave = request.POST.get('dbspo')
namobj = request.POST.get('namobj')
luas = request.POST.get('luas')
remark = request.POST.get('remark')
gambar = request.POST.get('gambar')
alamat = request.POST.get('alamat')
if (dbsave == "geo_cagar_budaya" or dbsave == "geo_terminal_bus"):
l = "luas"
else:
l = "luas_tanah"
if alamat is None:
alamat = 'alamat'
elif alamat == '':
alamat = 'alamat'
else:
alamat = request.POST.get('alamat')
perangkat = request.POST.get('perangkat')
if perangkat is None:
perangkat = 'bpk'
elif perangkat == '':
perangkat = 'bpk'
else:
perangkat = request.POST.get('perangkat')
point = request.POST.get("point")
cood_edit = json.loads(point)
co_edit = cood_edit['geometry']['coordinates']
file = request.FILES.get('file')
fss = FileSystemStorage(location='/var/www/django/oku.khansia.co.id/static/img/image/')
try:
format = (file.name).split(".")
num = random.randrange(1, 10000000000000)
namafile = f"{namobj}_{num}.{format[-1:][0]}"
filename = fss.save(namafile, file)
# print(file.name)
url = fss.url(filename)
except:
namafile = gambar
print(dbsave, co_edit, namobj, alamat, remark, l, luas, perangkat, namafile, idsave)
with conn.cursor() as editspo:
editspo.execute("""update %s set geom = st_geomfromgeojson('{"type":"Point", "coordinates":%s, "crs":{"type":"name","properties":{"name":"EPSG:4326"}}}'), namobj = '%s', alamat = '%s', remark = '%s', %s = '%s', perangkat = '%s', gambar = '%s' where id = %s"""% (dbsave, co_edit, namobj, alamat, remark, l, luas, perangkat, namafile, idsave))
conn.commit()
with conn.cursor() as hasiledit:
hasiledit.execute("""select namobj, alamat, remark, %s, gambar, perangkat from %s where id = %s"""% (l, dbsave, idsave))
hasileditspo = hasiledit.fetchall()
data = hasileditspo[0]
data = {'status':'Success'}
data = 'SUCCESS'
info = 'data telah diperbaharui'
status = 0
respon={'data':data, 'info': info, 'status':status}
return Response(respon)
@api_view(('POST',)) @api_view(('POST',))
def editrumahsakit(request): def editrumahsakit(request):
...@@ -2526,6 +2646,45 @@ def upload_tampak(request): ...@@ -2526,6 +2646,45 @@ def upload_tampak(request):
return Response(respon) return Response(respon)
@api_view(('GET',))
def createlahan(request):
poly_create = request.GET.get('polygon')
p_create = poly_create.replace('"','')
po_create = p_create.replace(', ','],[')
name = request.GET.get('name')
tipelh = request.GET.get('tipelh')
tahun = request.GET.get('tahun')
luas = request.GET.get('luas')
obid = 666
provinsi = "Sumatera Selatan"
gambar = "NONE"
latlng = po_create.split("],[")[0]
print(p_create)
print(latlng)
if name == "":
name = "Sumatera Selatan"
else:
name = name
with conn.cursor() as lahan:
lahan.execute("""INSERT INTO geo_tuplah(geom, objectid_1, name, provinsi, pl_19_r, legenda, gambar) VALUES (ST_GeomFromEWKT('SRID=4326;MULTIPOLYGON(((%s)))'), '%s', '%s', '%s', '%s', '%s', '%s')"""% (p_create, obid, name, provinsi, tahun, tipelh, gambar))
conn.commit()
data = {'status':'Success'}
data = 'SUCCESS'
info = 'data telah diperbaharui'
status = 0
# except:
# data = 'Sorry'
# info = 'Dalam Perbaikan'
# status = 1
respon={'data':data, 'info': info, 'status':status}
return Response(respon)
import re import re
@api_view(('POST',)) @api_view(('POST',))
...@@ -2775,35 +2934,57 @@ def createpoint(request): ...@@ -2775,35 +2934,57 @@ def createpoint(request):
def filt_perbaikan_kecamatan(request): def filt_perbaikan_kecamatan(request):
id_kec = request.GET.get('id_kec') id_kec = request.GET.get('id_kec')
with conn.cursor() as kel: if id_kec == 'all_kecamatan':
kel.execute("""SELECT ID, res_kel = 'all_kecamatan'
desa
FROM with conn.cursor() as data_per:
geo_data_kelurahan gd data_per.execute("""
WHERE SELECT
kecamatan = ( SELECT kecamatan FROM geo_data_kecamatan WHERE ID = %s ) gl.NAME,
"""% int(id_kec)) tp.id_object,
res_kel = kel.fetchall() tp.NAME,
tp.TYPE,
with conn.cursor() as data_per: tp.tgl_perbaikan,
data_per.execute(""" tp.anggaran,
SELECT tp.tgl_selesai
gl.NAME, FROM
tp.id_object, ( SELECT tbl_perbaikan.*, ROW_NUMBER ( ) OVER ( PARTITION BY id_object ORDER BY tgl_selesai DESC ) AS rn FROM tbl_perbaikan ) tp
tp.NAME, JOIN geo_label gl ON gl.ID = tp.type_id
tp.TYPE, JOIN geo_data_kecamatan gdk on st_intersects(st_setsrid(gdk.geom, 4326), st_setsrid(tp.geom, 4326))
tp.tgl_perbaikan, WHERE
tp.anggaran, rn = 1
tp.tgl_selesai """)
FROM res_perbaikan = data_per.fetchall()
( SELECT tbl_perbaikan.*, ROW_NUMBER ( ) OVER ( PARTITION BY id_object ORDER BY tgl_selesai DESC ) AS rn FROM tbl_perbaikan ) tp else:
JOIN geo_label gl ON gl.ID = tp.type_id with conn.cursor() as kel:
JOIN geo_data_kecamatan gdk on st_intersects(st_setsrid(gdk.geom, 4326), st_setsrid(tp.geom, 4326)) kel.execute("""SELECT ID,
WHERE desa
rn = 1 and gdk.ID = %s FROM
LIMIT 10 geo_data_kelurahan gd
"""% int(id_kec)) WHERE
res_perbaikan = data_per.fetchall() kecamatan = ( SELECT kecamatan FROM geo_data_kecamatan WHERE ID = %s )
"""% int(id_kec))
res_kel = kel.fetchall()
with conn.cursor() as data_per:
data_per.execute("""
SELECT
gl.NAME,
tp.id_object,
tp.NAME,
tp.TYPE,
tp.tgl_perbaikan,
tp.anggaran,
tp.tgl_selesai
FROM
( SELECT tbl_perbaikan.*, ROW_NUMBER ( ) OVER ( PARTITION BY id_object ORDER BY tgl_selesai DESC ) AS rn FROM tbl_perbaikan ) tp
JOIN geo_label gl ON gl.ID = tp.type_id
JOIN geo_data_kecamatan gdk on st_intersects(st_setsrid(gdk.geom, 4326), st_setsrid(tp.geom, 4326))
WHERE
rn = 1 and gdk.ID = %s
"""% int(id_kec))
res_perbaikan = data_per.fetchall()
res_all = [] res_all = []
for j in res_perbaikan: for j in res_perbaikan:
...@@ -2881,7 +3062,8 @@ def user_data(request): ...@@ -2881,7 +3062,8 @@ def user_data(request):
ag.name, ag.name,
au.is_staff, au.is_staff,
au.is_superuser, au.is_superuser,
au.file_path au.file_path,
au.phone
FROM FROM
auth_user au, auth_user au,
auth_user_groups aug, auth_user_groups aug,
...@@ -2905,7 +3087,8 @@ def user_data(request): ...@@ -2905,7 +3087,8 @@ def user_data(request):
ag.name, ag.name,
au.is_staff, au.is_staff,
au.is_superuser, au.is_superuser,
au.file_path au.file_path,
au.phone
FROM FROM
auth_user au, auth_user au,
auth_user_groups aug, auth_user_groups aug,
...@@ -2922,6 +3105,13 @@ def user_data(request): ...@@ -2922,6 +3105,13 @@ def user_data(request):
user_res = [] user_res = []
for rows in allUser: for rows in allUser:
if rows[8] == True and rows[9] == True:
jabatan = 'Super user'
elif rows[8] == True and rows[9] == False:
jabatan = 'Staff'
elif rows[8] == False and rows[9] == False:
jabatan = 'User'
datas = { datas = {
"id": rows[0], "id": rows[0],
"username": rows[1], "username": rows[1],
...@@ -2930,7 +3120,9 @@ def user_data(request): ...@@ -2930,7 +3120,9 @@ def user_data(request):
"isactive": rows[4], "isactive": rows[4],
"last": rows[5], "last": rows[5],
"group": rows[7], "group": rows[7],
"filepath": rows[10] "filepath": rows[10],
"phone": rows[11],
"jabatan": jabatan
} }
user_res.append(datas) user_res.append(datas)
...@@ -3122,20 +3314,6 @@ def search_spes(request): ...@@ -3122,20 +3314,6 @@ def search_spes(request):
WHERE WHERE
a.namobj ILIKE '%{}%' a.namobj ILIKE '%{}%'
UNION UNION
SELECT a.ID
,
a.namobj,
a.remark,
a.geom,
'geo_spbu'
FROM
geo_spbu a
JOIN geo_prov_kab b ON st_intersects ( A.geom, b.geom )
JOIN geo_data_kecamatan c ON st_intersects(A.geom, c.geom)
join geo_data_kelurahan d on st_intersects(A.geom, d.geom)
WHERE
a.namobj ILIKE '%{}%'
UNION
SELECT a.ID SELECT a.ID
, ,
a.namobj, a.namobj,
...@@ -3192,7 +3370,7 @@ def search_spes(request): ...@@ -3192,7 +3370,7 @@ def search_spes(request):
WHERE WHERE
a.namobj ILIKE '%{}%' a.namobj ILIKE '%{}%'
LIMIT 10 LIMIT 10
""".format(inp, inp, inp, inp, inp, inp, inp, inp, inp, inp, inp)) """.format(inp, inp, inp, inp, inp, inp, inp, inp, inp, inp))
s_point = search_point.fetchall() s_point = search_point.fetchall()
kill = s_point kill = s_point
elif tipe == ' Bangunan': elif tipe == ' Bangunan':
...@@ -3488,4 +3666,27 @@ def download_perbaikan_data(request): ...@@ -3488,4 +3666,27 @@ def download_perbaikan_data(request):
respon = { respon = {
'data' : per_res, 'data' : per_res,
} }
return Response(respon)
@api_view(('POST',))
def dpoint(request):
id = request.POST.get('id')
db = request.POST.get('db')
try:
with conn.cursor() as editka:
editka.execute("""update %s set is_deleted = 1 where id = %s"""%(db, id))
conn.commit()
data = {'status':'Success'}
data = 'SUCCESS'
info = 'data telah diperbaharui, akan terupdate setelah reload'
status = 0
except:
data = 'Sorry'
info = 'Gagal diperbaharui, hubungi developer'
status = 1
respon={'data':data, 'info': info, 'status':status}
return Response(respon) return Response(respon)
\ No newline at end of file
...@@ -619,8 +619,8 @@ class Dashboard(generic.TemplateView): ...@@ -619,8 +619,8 @@ class Dashboard(generic.TemplateView):
'gardu_listrik':gardu_listrik_result, 'gardu_listrik':gardu_listrik_result,
'global':all[0], 'global':all[0],
'res_all':res_all, 'res_all':res_all,
'thisUser' : user_data 'thisUser' : user_data,
# ,'user_res':user_res # 'user_res':user_res
} }
return render (request, self.template_name, context) return render (request, self.template_name, context)
......
...@@ -49,7 +49,7 @@ class HomeView(View): ...@@ -49,7 +49,7 @@ class HomeView(View):
class CustomLogoutView(LogoutView): class CustomLogoutView(LogoutView):
template_name = 'user/login.html' template_name = 'user/login.html'
next_page = 'login' next_page = '/'
class Userprofile(generic.TemplateView): class Userprofile(generic.TemplateView):
template_name = 'user/user_profile.html' template_name = 'user/user_profile.html'
...@@ -234,6 +234,7 @@ def addUser(request): ...@@ -234,6 +234,7 @@ def addUser(request):
password = request.POST.get('username') password = request.POST.get('username')
iduser = request.POST.get('id') iduser = request.POST.get('id')
isStaff = request.POST.get('isStaff') isStaff = request.POST.get('isStaff')
phone = request.POST.get('phone')
# arrGroup = group.split("~") # arrGroup = group.split("~")
...@@ -245,10 +246,11 @@ def addUser(request): ...@@ -245,10 +246,11 @@ def addUser(request):
try: try:
if iduser: if iduser:
with conn.cursor() as cursor: with conn.cursor() as cursor:
cursor.execute("UPDATE auth_user SET first_name = '"+first_name+"', last_name = '"+last_name+"', email = '"+email+"' WHERE id="+iduser) cursor.execute("UPDATE auth_user SET first_name = '"+first_name+"', last_name = '"+last_name+"', email = '"+email+"', phone = '"+phone+"' WHERE id="+iduser)
with conn.cursor() as curGroup: if group != 'none':
curGroup.execute("DELETE FROM auth_user_groups WHERE user_id="+iduser) with conn.cursor() as curGroup:
curGroup.execute("DELETE FROM auth_user_groups WHERE user_id="+iduser)
users = User.objects.get(username=usernames) users = User.objects.get(username=usernames)
...@@ -282,13 +284,19 @@ def addUser(request): ...@@ -282,13 +284,19 @@ def addUser(request):
user.password = make_password(password) user.password = make_password(password)
user.save() user.save()
# add user to group # add user to group
userinsert = User.objects.get(username=usernames) userinsert = User.objects.get(username=usernames)
insertgroups = Group.objects.get(name=group) insertgroups = Group.objects.get(name=group)
insertgroups.user_set.add(userinsert) insertgroups.user_set.add(userinsert)
# add phone
with conn.cursor() as cursor:
cursor.execute("UPDATE auth_user SET phone = '%s' WHERE username = '%s' and first_name = '%s' and last_name = '%s'"%(phone, usernames, first_name, last_name))
print(user)
data = { data = {
"code" : 0, "code" : 0,
...@@ -364,7 +372,7 @@ def deactivateUser(request): ...@@ -364,7 +372,7 @@ def deactivateUser(request):
# # print(type(status)+status) # # print(type(status)+status)
# # print(type(True)) # # print(type(True))
# print(status == 'True') # print(status == 'True')
if status == 'True': if status == 'true':
sql = "f" sql = "f"
else: else:
sql = "t" sql = "t"
...@@ -424,7 +432,8 @@ def loadUserbyId(request): ...@@ -424,7 +432,8 @@ def loadUserbyId(request):
"last" : rows[2], "last" : rows[2],
"group" : group_res, "group" : group_res,
"is_staff" : rows[9], "is_staff" : rows[9],
"filepath" : rows[11] "filepath" : rows[11],
"phone" : rows[12]
} }
user_res.append(datas) user_res.append(datas)
......
...@@ -853,6 +853,43 @@ li.active>a:after { ...@@ -853,6 +853,43 @@ li.active>a:after {
} }
input#change_stat {
display: block!important;
}
#help>div:nth-child(3)>div>div.panel.panel-flat.panel-collapsed>div.panel-body>table>tbody>tr {
border-top: 20px solid white;
}
#create,
#create-jal {
border: transparent;
border-radius: 5px;
margin: 10px;
}
#map-create-all>div.leaflet-control-container>div.leaflet-top.leaflet-left>div:nth-child(1)>div>div>a.leaflet-draw-draw-marker {
width: 100%!important;
padding: 0px!important;
}
#informasi_create>div {
margin: 10px;
}
.navbar .navbar-inverse {
display: none
}
.page-content {
display: table;
}
body>ul>li.fixed-plugin.no3d.overlay-cek>div.dropdown.show-dropdown.open>ul {
width: 300px;
margin-left: -270px!important;
}
@media (max-width: 1025px) { @media (max-width: 1025px) {
.dock { .dock {
position: absolute; position: absolute;
...@@ -905,4 +942,135 @@ li.active>a:after { ...@@ -905,4 +942,135 @@ li.active>a:after {
margin-left: auto !important; margin-left: auto !important;
margin-right: auto !important; margin-right: auto !important;
} }
}
@media (max-width: 720px) {
/* html {
transform: rotate(-90deg);
transform-origin: left top;
width: 100vh;
height: 100vw;
overflow-x: hidden;
position: absolute;
top: 100%;
left: 0;
} */
.dock {
position: absolute;
top: -4px;
left: 95%;
}
#map>div.leaflet-control-container>div.leaflet-bottom.leaflet-right {
right: 5px;
}
#map .head {
top: 1%!important;
}
.dock {
left: 93%;
}
.navbar .navbar-inverse {
display: block
}
#map>div.row>div.col-sm-4.input-group.content-group.head {
width: 80%;
margin-top: -15px;
margin-left: 60px;
}
.user-p-nav {
display: none
}
li.fixed-plugin .dropdown-menu {
transform: scale(0.769230);
float: right;
position: absolute;
right: -550px;
width: 190px;
margin-left: -175px !important;
margin-top: -137px !important;
top: 20px;
margin-right: -550px;
}
li.overlay-cek .dropdown-menu {
transform: scale(0.769230);
float: right;
position: absolute;
right: -550px;
width: 190px;
margin-left: -175px !important;
margin-top: -127px !important;
top: 13px;
margin-right: -550px;
}
.menu-heading {
color: black;
}
.menu-list>a>img {
min-width: 120px!important;
min-height: 20px!important;
max-height: 90px!important;
}
#bottom-tab2>div>div:nth-child(2) {
display: none;
}
#panel-sm {
width: 100%!important;
top: 0px;
}
#panel-sm>div {
margin-left: 0px
}
body>div.page-container>div>div.sidebar.sidebar-main {
/* transform: rotate( 270deg);
height: 100%;
float: right;
margin-left: 282px;
top: -290px; */
display: block;
}
#bottom-tab1>div {
margin-left: 10px;
}
#bottom-tab1>div>div.col-sm-2 {
display: none;
}
#bottom-tab2>div>div:nth-child(4) {
margin-left: 18px;
}
#bottom-tab2>div>div {
margin-left: 10px;
}
#panel-sm>div>div.bod>div>ul {
background: #1B1F2D;
}
#panel-sm>div>div.bod>div>ul>li.active>a {
background: #353847;
}
#panel-sm>div>div.bod>div>ul {
border-top: none;
border-left: none;
}
#panel-sm>div>div.bod>div>div {
margin-left: 10px;
}
body>ul>li.fixed-plugin.no3d.overlay-cek>div.dropdown.show-dropdown.open>ul {
width: 270px!important;
margin-left: -245px!important;
}
body>div.page-container>div>div.sidebar.sidebar-main>div.sidebar-category.sidebar-category-visible>div>ul:nth-child(1) {
margin-bottom: 47vh!important;
}
body>div.page-container>div>div.sidebar.sidebar-main>div.sidebar-category.sidebar-category-visible>div>ul:nth-child(2)>li:nth-child(1)>a {
display: none
}
.modal-dialog {
margin-top: 0px;
top: 7%!important;
}
.modal-content {
margin-left: 20px!important;
}
#modal_detail_non_kelurahan>div>div>div.modal-body>fieldset>div>div:nth-child(2)>div>div {
margin-left: 5px
}
} }
\ No newline at end of file
#map-jalan>div.leaflet-control-container>div.leaflet-top.leaflet-left>div>div {
display: none;
}
#tbody_user_list>tr>td.text-center>div>div.col-md-6.text-right>a>i {
font-size: 16px!important;
top: -3px;
}
.switch_custom {
position: relative;
display: inline-block;
width: 36px;
height: 20px;
}
.switch_custom input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgb(59, 62, 71);
-webkit-transition: .4s;
transition: .4s;
}
.slider:before {
position: absolute;
content: "";
height: 18px;
width: 18px;
left: 1px;
bottom: 1px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked+.slider {
background-color: #2196F3;
}
input:focus+.slider {
box-shadow: 0 0 1px #2196F3;
}
input:checked+.slider:before {
-webkit-transform: translateX(16px);
-ms-transform: translateX(16px);
transform: translateX(16px);
}
/* Rounded sliders */
.slider.round {
border-radius: 34px;
}
.slider.round:before {
border-radius: 50%;
}
#user_profile>.table-sm>thead>tr>th,
.table-sm>tbody>tr>th,
.table-sm>tfoot>tr>th,
.table-sm>thead>tr>td,
.table-sm>tbody>tr>td,
.table-sm>tfoot>tr>td {
padding: 13px 20px;
}
\ No newline at end of file
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg"> <svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M12 23L4 25V7L12 5" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> <path d="M9.75 18.6875L3.25 20.3125V5.6875L9.75 4.0625" stroke="#E86250" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M20 27L12 23V5L20 9V27Z" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> <path d="M16.25 21.9375L9.75 18.6875V4.0625L16.25 7.3125V21.9375Z" stroke="#E86250" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path d="M20 9L28 7V25L20 27" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> <path d="M16.25 7.3125L22.75 5.6875V20.3125L16.25 21.9375" stroke="#E86250" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg> </svg>
<svg width="24" height="19" viewBox="0 0 24 19" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.07985 17.7188L20.6739 17.7188C21.6456 17.7188 22.4333 16.931 22.4333 15.9593V3.64348C22.4333 2.67179 21.6456 1.88407 20.6739 1.88407L3.07985 1.88407C2.10816 1.88407 1.32045 2.67179 1.32045 3.64348V15.9593C1.32045 16.931 2.10816 17.7188 3.07985 17.7188Z" stroke="#212232" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>
...@@ -152,12 +152,13 @@ function load_manage() { ...@@ -152,12 +152,13 @@ function load_manage() {
success: function(data) { success: function(data) {
var data_user = [] var data_user = []
var number = 0; var number = 0;
var all_id = []
var all_stat = []
for (var i = 0; i < data['data'].length; i++) { for (var i = 0; i < data['data'].length; i++) {
$("#list_point").addClass('list_point') $("#list_point").addClass('list_point')
$("#list_user").addClass('list_user') $("#list_user").addClass('list_user')
number += 1; number += 1;
var id = data['data'][i]['id']; var id = data['data'][i]['id'];
var name = data['data'][i]['name']; var name = data['data'][i]['name'];
...@@ -167,40 +168,66 @@ function load_manage() { ...@@ -167,40 +168,66 @@ function load_manage() {
var last = data['data'][i]['last']; var last = data['data'][i]['last'];
var isactive = data['data'][i]['isactive']; var isactive = data['data'][i]['isactive'];
var no_telp = data['data'][i]['phone'];
var jabatan = data['data'][i]['jabatan'];
if (isactive == true) { if (isactive == true) {
var isac = `<span class="label label-success">Active</span>` var isac = 'checked'
} else { } else {
var isac = `<span class="label label-danger">Inactive</span>` var isac = ''
} }
var data_gab = `<tr> var data_gab = `<tr>
<td>` + number + `</td> <td>` + number + `</td>
<td>` + id + `</td>
<td>` + username + `</td> <td>` + username + `</td>
<td>` + email + `</td> <td>` + email + `</td>
<td>` + no_telp + `</td>
<td>` + jabatan + `</td>
<td>` + last + `</td> <td>` + last + `</td>
<td>` + isac + `</td> <td class="text-center" style='padding:0px;'>
<td class="text-center"> <div class='row'>
<ul class="icons-list"> <div class='col-md-6 text-right' style='margin-top:8px'>
<li class="dropdown"> <a onclick="loaduserbyid('` + id + `')"><i class=" icon-pencil7"></i>Edit</a>
<a href="#" class="dropdown-toggle" data-toggle="dropdown"> </div>
<i class="icon-menu9"></i> <div class='col-md-6 text-left'>
</a> <div class="checkbox switch_custom">
<label>
<ul class="dropdown-menu dropdown-menu-right"> <input type="checkbox" class="slider round" id="checkbox` + id + `" onclick="switchuserstatus('` + id + `, ` + isactive + `','` + id + `')" ` + isac + ` >
<li><a onclick="switchuserstatus('` + id + `, ` + isactive + `')"><i class="icon-user-block"></i> Switch user status</a></li> <span class="slider round"></span>
<li><a onclick="loaduserbyid('` + id + `')"><i class="icon-users"></i> Edit user</a></li> </label>
</ul> </div>
</li> </div>
</ul> </div>
</td> </td>
</tr>`; </tr>`;
data_user.push(data_gab) data_user.push(data_gab)
all_id.push(id)
all_stat.push(isactive)
}; };
$("#tbody_user_list").html(data_user) $("#tbody_user_list").html(data_user)
if (Array.prototype.forEach) {
var elems = Array.prototype.slice.call(document.querySelectorAll('.switchery'));
elems.forEach(function(html) {
var switchery = new Switchery(html);
});
} else {
var elems = document.querySelectorAll('.switchery');
for (var i = 0; i < elems.length; i++) {
var switchery = new Switchery(elems[i]);
}
}
$(".switch").bootstrapSwitch();
var primary_s = document.querySelectorAll("[class^=switchery-custom-x");
for (var z = 0; z < primary_s.length; z++) {
var switchery = new Switchery(primary_s[z], { color: '#5A9AFB', secondaryColor: '#3B3E47', jackColor: '#fff', jackSecondaryColor: '#fff' });
}
var data_point = [] var data_point = []
var number2 = 0; var number2 = 0;
...@@ -245,38 +272,19 @@ function load_manage() { ...@@ -245,38 +272,19 @@ function load_manage() {
orderable: false, orderable: false,
width: '10%', width: '10%',
targets: [0], targets: [0],
}, {
orderable: false,
width: '10%',
targets: [1],
}, {
orderable: false,
width: '20%',
targets: [2],
}, {
orderable: false,
width: '20%',
targets: [3],
}, {
orderable: false,
width: '20%',
targets: [4],
}, {
orderable: false,
width: '10%',
targets: [5],
}, {
orderable: false,
width: '10%',
targets: [6],
}, ], }, ],
dom: '<"float-left "B>frtip', dom: '<"float-left "B>frtip',
buttons: [{
text: 'Add new button',
action: function(e, dt, node, config) {
dt.button().add(1, {
text: 'Button ' + (counter++),
action: function() {
this.remove();
}
});
}
}],
language: { language: {
search: ' _INPUT_', search: ' _INPUT_',
searchPlaceholder: 'Data User...', searchPlaceholder: 'Data User...',
...@@ -288,6 +296,7 @@ function load_manage() { ...@@ -288,6 +296,7 @@ function load_manage() {
'previous': '&larr;' 'previous': '&larr;'
} }
}, },
drawCallback: function() { drawCallback: function() {
$(this).find('tbody tr').slice(-3).find('.dropdown, .btn-group').addClass('dropup'); $(this).find('tbody tr').slice(-3).find('.dropdown, .btn-group').addClass('dropup');
}, },
...@@ -485,7 +494,7 @@ function download_point_list(type, fn, dl) { ...@@ -485,7 +494,7 @@ function download_point_list(type, fn, dl) {
function loadGroups(isSelect) { function loadGroups(isSelect) {
var isObject = {} var isObject = {}
console.log(isSelect)
isObject.func_name = "loadGroups"; isObject.func_name = "loadGroups";
$.ajax({ $.ajax({
...@@ -496,7 +505,7 @@ function loadGroups(isSelect) { ...@@ -496,7 +505,7 @@ function loadGroups(isSelect) {
success: function(data) { success: function(data) {
let response = data; let response = data;
console.log(response)
if (response.code == 0) { if (response.code == 0) {
var groups = response.data; var groups = response.data;
var html = `<option value="null" selected disabled>-- Pilih Group --</option>`; var html = `<option value="null" selected disabled>-- Pilih Group --</option>`;
...@@ -506,7 +515,7 @@ function loadGroups(isSelect) { ...@@ -506,7 +515,7 @@ function loadGroups(isSelect) {
for (j in isSelect) { for (j in isSelect) {
if (isSelect[j] == groups[i]) { if (isSelect[j] == groups[i]) {
html += `<option value="` + groups[i] + `" selected>` + groups[i] + `</option>`; html += `<option value="` + groups[i] + `" selected>` + groups[i] + `</option>`;
console.log(groups[i])
} else { } else {
html += `<option value="` + groups[i] + `">` + groups[i] + `</option>`; html += `<option value="` + groups[i] + `">` + groups[i] + `</option>`;
} }
...@@ -525,7 +534,7 @@ function loadGroups(isSelect) { ...@@ -525,7 +534,7 @@ function loadGroups(isSelect) {
$("#select_group").html(html); $("#select_group").html(html);
$("#select_group_parent").html(html); $("#select_group_parent").html(html);
console.log(html)
} else { } else {
$("#select_group").html("group tidak tersedia"); $("#select_group").html("group tidak tersedia");
$("#select_group_parent").html("group tidak tersedia"); $("#select_group_parent").html("group tidak tersedia");
...@@ -535,16 +544,72 @@ function loadGroups(isSelect) { ...@@ -535,16 +544,72 @@ function loadGroups(isSelect) {
}); });
} }
function swal_switch(isConfirm, c, isObject) {
var checkbox = document.getElementById("checkbox" + c);
function switchuserstatus(id, isactive) { if (isConfirm == true) {
if (checkbox.checked == true) {
checkbox.checked = true
} else {
checkbox.checked = false
}
$.ajax({
url: "/switchStatus/",
data: isObject,
dataType: 'json',
type: 'post',
success: function(data) {
let response = data;
if (isObject.stat == "true") {
var inf = "dinonaktifkan"
} else {
var inf = "diaktifkan"
}
if (response.code == 0) {
swal({
title: "sukses",
text: "User berhasil " + inf,
type: "success",
icon: "success",
confirmButtonColor: "#00BCD4"
}, function(isok) {
if (inf == "diaktifkan") {
$(this).checked = true;
} else {
$(this).checked = false;
}
})
} else {
alert("no data in database")
}
}
});
} else {
if (checkbox.checked == true) {
checkbox.checked = false
} else {
checkbox.checked = true
}
swal("Dibatalkan", "User status tidak berubah", "error");
}
}
function switchuserstatus(id, c) {
var isObject = {} var isObject = {}
var params = id.split(","); var params = id.split(",");
isObject.id = params[0]; isObject.id = params[0];
isObject.stat = params[1].replace(" ", ""); isObject.stat = params[1].replace(" ", "");
console.log(params)
if (isObject.stat == "True") { if (isObject.stat == "true") {
var title = "Nonaktifkan"; var title = "Nonaktifkan";
var text = "User tidak akan bisa login jika dinonaktifkan!"; var text = "User tidak akan bisa login jika dinonaktifkan!";
} else { } else {
...@@ -563,50 +628,13 @@ function switchuserstatus(id, isactive) { ...@@ -563,50 +628,13 @@ function switchuserstatus(id, isactive) {
closeOnConfirm: false, closeOnConfirm: false,
closeOnCancel: false closeOnCancel: false
}, function(isConfirm) { }, function(isConfirm) {
if (isConfirm == true) { swal_switch(isConfirm, c, isObject)
$.ajax({
url: "/switchStatus/",
data: isObject,
dataType: 'json',
type: 'post',
success: function(data) {
let response = data;
if (isObject.stat == "True") {
var inf = "dinonaktifkan"
} else {
var inf = "diaktifkan"
}
if (response.code == 0) {
swal({
title: "sukses",
text: "User berhasil " + inf,
type: "success",
icon: "success",
confirmButtonColor: "#00BCD4"
}, function(isok) {
load_manage()
})
} else {
alert("no data in database")
}
}
});
} else {
swal("Dibatalkan", "User status tidak berubah", "error");
}
}); });
} }
function loaduserbyid(id) { function loaduserbyid(id) {
$("#modal_edit_user").modal("show")
var isObject = {}; var isObject = {};
$(".modstit").html("Update User")
$("#inUsername").attr("disabled", true)
isObject.id = id; isObject.id = id;
$("#iduser").val(id) $("#iduser").val(id)
...@@ -617,16 +645,21 @@ function loaduserbyid(id) { ...@@ -617,16 +645,21 @@ function loaduserbyid(id) {
dataType: 'json', dataType: 'json',
type: 'post', type: 'post',
success: function(data) { success: function(data) {
$("#modal_edit_user").modal("show")
$(".modstit").html("Update User")
$("#inUsername").attr("disabled", true)
let response = data; let response = data;
if (response.code == 0) { if (response.code == 0) {
var user = response.data; var user = response.data;
console.log(user)
$("#inUsername").val(user.username); $("#inUsername").val(user.username);
$("#inNameF").val(user.firstname); $("#inNameF").val(user.firstname);
$("#inNameL").val(user.lastname); $("#inNameL").val(user.lastname);
$("#inEmail").val(user.email); $("#inEmail").val(user.email);
$("#phone").val(user.phone)
if (user.is_staff) { if (user.is_staff) {
$('input[name=isStaff][value=true]').attr('checked', true) $('input[name=isStaff][value=true]').attr('checked', true)
} else { } else {
...@@ -730,16 +763,6 @@ function modal_detail_point_pengaturan(id, db) { ...@@ -730,16 +763,6 @@ function modal_detail_point_pengaturan(id, db) {
$("#saveuser").on("click", function() { $("#saveuser").on("click", function() {
addUser()
})
// function destroyfade() {
// $(".modal-backdrop").css("display", "none")
// $(".modal-backdrop").removeClass('show');
// $("body").css('padding-right', '0px !important')
// }
function addUser() {
var isObject = {}; var isObject = {};
var ars = '' var ars = ''
var group = $("#select_group").val(); var group = $("#select_group").val();
...@@ -749,18 +772,11 @@ function addUser() { ...@@ -749,18 +772,11 @@ function addUser() {
isObject.id = iduser; isObject.id = iduser;
} }
// for(i in group){
// if(i < group.length-1){
// ars += group[i]+"~";
// }else{
// ars += group[i];
// }
// }
// return false
isObject['username'] = $("#inUsername").val(); isObject['username'] = $("#inUsername").val();
isObject['first_name'] = $("#inNameF").val(); isObject['first_name'] = $("#inNameF").val();
isObject['last_name'] = $("#inNameL").val(); isObject['last_name'] = $("#inNameL").val();
isObject['email'] = $("#inEmail").val(); isObject['email'] = $("#inEmail").val();
isObject['phone'] = $("#phone").val();
isObject.group = group isObject.group = group
isObject.isStaff = $('input[name="isStaff"]:checked').val(); isObject.isStaff = $('input[name="isStaff"]:checked').val();
...@@ -774,8 +790,6 @@ function addUser() { ...@@ -774,8 +790,6 @@ function addUser() {
if (response.code == 0) { if (response.code == 0) {
$("#modal_edit_user").css('display', 'none'); $("#modal_edit_user").css('display', 'none');
// destroyfade();
swal({ swal({
title: response.info, title: response.info,
text: response.data + "reload untuk mendapatkan update", text: response.data + "reload untuk mendapatkan update",
...@@ -795,7 +809,21 @@ function addUser() { ...@@ -795,7 +809,21 @@ function addUser() {
} }
} }
}); });
} })
$("#add_user").click(function() {
$("#modal_edit_user").modal("show")
$(".modstit").html("Tambah User")
$("#inUsername").attr("disabled", false)
$("#group_use").css("display", "none")
$("#inUsername").val("")
$("#inNameF").val("")
$("#inNameL").val("")
$("#inEmail").val("")
$("#phone").val("")
$("#iduser").val("")
})
$("#saveedit_p").click(function() { $("#saveedit_p").click(function() {
var idka = $('#id_adm_edit').val(); var idka = $('#id_adm_edit').val();
...@@ -988,8 +1016,16 @@ $("#btnsaveuser").click(function() { ...@@ -988,8 +1016,16 @@ $("#btnsaveuser").click(function() {
changepassword() changepassword()
}) })
// function switchuserstatuss(id, isactive) {
// var checkbox = $(this);
// if (checkbox.is(":checked")) {
// e.preventDefault();
// return false;
// }else{
// }
// }
document.querySelector("#map-create-all > div.leaflet-control-container > div.leaflet-bottom.leaflet-right > div").html(`Powered by <a href="https://khansia.co.id" target="_blank">Khansia</a> with <a href="https://leafletjs.com" target="_blank">Leaflet</a>`) document.querySelector("#map-create-all > div.leaflet-control-container > div.leaflet-bottom.leaflet-right > div").html(`Powered by <a href="https://khansia.co.id" target="_blank">Khansia</a> with <a href="https://leafletjs.com" target="_blank">Leaflet</a>`)
document.querySelector("#map-create-all > div.leaflet-control-container > div.leaflet-bottom.leaflet-right > div").css("right", "50px") document.querySelector("#map-create-all > div.leaflet-control-container > div.leaflet-bottom.leaflet-right > div").css("right", "50px")
\ No newline at end of file
...@@ -24,14 +24,18 @@ $("#sidebar").hide() ...@@ -24,14 +24,18 @@ $("#sidebar").hide()
maps = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', { id: 'mapbox/light-v9', tileSize: 512, zoomOffset: -1 }).addTo(map); maps = L.tileLayer('https://api.mapbox.com/styles/v1/{id}/tiles/{z}/{x}/{y}?access_token=pk.eyJ1IjoibWFwYm94IiwiYSI6ImNpejY4NXVycTA2emYycXBndHRqcmZ3N3gifQ.rJcFIG214AriISLbB6B5aw', { id: 'mapbox/light-v9', tileSize: 512, zoomOffset: -1 }).addTo(map);
OpenStreetMap.onclick = function() { OpenStreetMap.onclick = function() {
maps = L.tileLayer("https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z}&s=Gal&apistyle=s.t:0|s.e:l|p.v:off", { map.removeLayer(maps)
//maps = L.tileLayer("https://mt1.google.com/vt/lyrs=m&x={x}&y={y}&z={z}&s=Gal&apistyle=s.t:0|s.e:l|p.v:off", {
maps = L.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
maxZoom: 22, maxZoom: 22,
minZoom: 3, minZoom: 3,
}).addTo(map); }).addTo(map);
}; };
WorldImagery.onclick = function() { WorldImagery.onclick = function() {
// https://{s}.tiles.wmflabs.org/osm-no-labels/{z}/{x}/{y}.png map.removeLayer(maps)
// https://{s}.tiles.wmflabs.org/osm-no-labels/{z}/{x}/{y}.png
maps = L.tileLayer("https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}", { maps = L.tileLayer("https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{z}/{y}/{x}", {
maxZoom: 22, maxZoom: 22,
minZoom: 3, minZoom: 3,
...@@ -39,12 +43,17 @@ WorldImagery.onclick = function() { ...@@ -39,12 +43,17 @@ WorldImagery.onclick = function() {
}; };
BingSatellite.onclick = function() { BingSatellite.onclick = function() {
map.removeLayer(maps)
maps = L.tileLayer.bing({ bingMapsKey: BING_KEY, maxNativeZoom: 22 }).addTo(map); maps = L.tileLayer.bing({ bingMapsKey: BING_KEY, maxNativeZoom: 22 }).addTo(map);
setTimeout(function() {
$('.leaflet-bottom.leaflet-right>.leaflet-control-attribution.leaflet-control').html(`Powered by <a href="https://khansia.co.id" target="_blank">Khansia</a> with <a href="https://leafletjs.com" target="_blank">Leaflet</a>`)
}, 100);
}; };
GoogleSatellite.onclick = function() { GoogleSatellite.onclick = function() {
map.removeLayer(maps)
maps = L.tileLayer('http://mt0.google.com/vt/lyrs=y&hl=en&x={x}&y={y}&z={z}&s=Gal&apistyle=s.t:0|s.e:l|p.v:off', { maps = L.tileLayer('http://mt0.google.com/vt/lyrs=y&hl=en&x={x}&y={y}&z={z}&s=Gal&apistyle=s.t:0|s.e:l|p.v:off', {
maxZoom: 22, maxZoom: 22,
minZoom: 4, minZoom: 4,
......
/* ------------------------------------------------------------------------------ /* ------------------------------------------------------------------------------
* *
* # Styled checkboxes, radios and file input * # Styled checkboxes, radios and file input
* *
* Specific JS code additions for form_checkboxes_radios.html page * Specific JS code additions for form_checkboxes_radios.html page
* *
* Version: 1.0 * Version: 1.0
* Latest update: Aug 1, 2015 * Latest update: Aug 1, 2015
* *
* ---------------------------------------------------------------------------- */ * ---------------------------------------------------------------------------- */
$(function() { $(function() {
...@@ -21,7 +21,8 @@ $(function() { ...@@ -21,7 +21,8 @@ $(function() {
elems.forEach(function(html) { elems.forEach(function(html) {
var switchery = new Switchery(html); var switchery = new Switchery(html);
}); });
} else { }
else {
var elems = document.querySelectorAll('.switchery'); var elems = document.querySelectorAll('.switchery');
for (var i = 0; i < elems.length; i++) { for (var i = 0; i < elems.length; i++) {
var switchery = new Switchery(elems[i]); var switchery = new Switchery(elems[i]);
...@@ -29,28 +30,8 @@ $(function() { ...@@ -29,28 +30,8 @@ $(function() {
} }
// Colored switches // Colored switches
var primary = document.querySelector('.switchery-primary');
/* ini ngaruh sama element yang punya class "switchery-" */ var switchery = new Switchery(primary, { color: '#2196F3' });
var primary = document.querySelectorAll("[class^=switchery-");
/* ------------------- */
console.log(primary);
var switcheryCustom = document.querySelector('.switchery-custom');
var switchery = new Switchery(switcheryCustom, { color: '#5A9AFB', secondaryColor: '#3B3E47', jackColor: '#fff', jackSecondaryColor: '#fff' });
// var switchery = new Switchery(primary[0], { color: '#2196F3' });
/* inisialisasi switchery buat class "switchery-" */
for (var z = 0; z < primary.length; z++) {
var switchery = new Switchery(primary[z], { color: '#5A9AFB', secondaryColor: '#3B3E47', jackColor: '#fff', jackSecondaryColor: '#fff' });
}
/* ------------------ */
var switcheryCustom1 = document.querySelector('.switchery-custom1');
var switchery = new Switchery(switcheryCustom1, { color: '#5A9AEB', secondaryColor: '#3B3E47', jackColor: '#fff', jackSecondaryColor: '#fff' });
// var switchery = new Switchery(primary, { color: '#2196F3' });
var danger = document.querySelector('.switchery-danger'); var danger = document.querySelector('.switchery-danger');
var switchery = new Switchery(danger, { color: '#EF5350' }); var switchery = new Switchery(danger, { color: '#EF5350' });
...@@ -59,7 +40,7 @@ $(function() { ...@@ -59,7 +40,7 @@ $(function() {
var switchery = new Switchery(warning, { color: '#FF7043' }); var switchery = new Switchery(warning, { color: '#FF7043' });
var info = document.querySelector('.switchery-info'); var info = document.querySelector('.switchery-info');
var switchery = new Switchery(info, { color: '#00BCD4' }); var switchery = new Switchery(info, { color: '#00BCD4'});
...@@ -124,5 +105,5 @@ $(function() { ...@@ -124,5 +105,5 @@ $(function() {
// ------------------------------ // ------------------------------
$(".switch").bootstrapSwitch(); $(".switch").bootstrapSwitch();
}); });
\ No newline at end of file
...@@ -67,7 +67,6 @@ ...@@ -67,7 +67,6 @@
.active { .active {
display: block; display: block;
} }
/* #button_hide { /* #button_hide {
line-height: 15px; line-height: 15px;
width: 40px; width: 40px;
...@@ -139,10 +138,134 @@ ...@@ -139,10 +138,134 @@
display: none!important; display: none!important;
} }
</style> </style>
{% if user.is_authenticated %}
<style>
#btn_perbaikan_jalan {
display: block;
}
.btn_action {
display: block;
}
#btn_edit_bangunan {
display: block;
}
#btn_delete_bangunan {
display: block;
}
#btn_edit_kelurahan {
display: block;
top: 5px;
}
#btn_edit_kelurahan :hover {
border-color: #DADCE0;
background-color: #F1F3F4;
}
#btn_edit_tuplah {
display: block;
}
#btn_jalan {
display: block;
}
#btn_edit_gl {
display: block;
}
#btn_edit_lk {
display: block;
}
#btn_edit_puskes {
display: block;
}
#btn_edit_adm {
display: block;
}
#btn_delete_adm {
display: block;
}
#btn_edit_rs {
display: block;
}
#btn_edit_si {
display: block;
}
#btn_edit_sp {
display: block;
}
#btn_edit_spbu {
display: block;
}
#btn_edit_st {
display: block;
}
#btn_edit_tr {
display: block;
}
#btn_edit_cb {
display: block;
}
#btn_detail_per_bang {
display: block;
}
#btn_perbaikan_bangunan {
display: block;
}
#btn_upload_tampak {
display: block;
}
#map>div.leaflet-control-container>div.leaflet-bottom.leaflet-right {
right: 65px;
}
#map>div.leaflet-control-container>div.leaflet-bottom.leaflet-right>div.leaflet-control-attribution.leaflet-control {
right: 0px;
}
</style>
{% else %}
<style> <style>
.tombol_save_create {
display: none;
}
.tombol-edit {
display: none;
}
#btn_perbaikan_jalan {
display: none;
}
.btn_action {
display: none;
}
#btn_edit_bangunan { #btn_edit_bangunan {
display: none; display: none;
} }
#btn_delete_bangunan { #btn_delete_bangunan {
display: none; display: none;
} }
...@@ -151,8 +274,8 @@ ...@@ -151,8 +274,8 @@
display: none; display: none;
top: 5px; top: 5px;
} }
#btn_edit_kelurahan :hover{ #btn_edit_kelurahan :hover {
border-color: #DADCE0; border-color: #DADCE0;
background-color: #F1F3F4; background-color: #F1F3F4;
} }
...@@ -184,6 +307,7 @@ ...@@ -184,6 +307,7 @@
#btn_edit_adm { #btn_edit_adm {
display: none; display: none;
} }
#btn_delete_adm { #btn_delete_adm {
display: none; display: none;
} }
...@@ -215,20 +339,22 @@ ...@@ -215,20 +339,22 @@
#btn_edit_cb { #btn_edit_cb {
display: none; display: none;
} }
#btn_detail_per_bang { #btn_detail_per_bang {
display: none; display: none;
} }
#btn_perbaikan_bangunan { #btn_perbaikan_bangunan {
display: none; display: none;
} }
#btn_upload_tampak { #btn_upload_tampak {
display: none; display: none;
} }
.leaflet-popup{ .leaflet-popup {
display: none; display: none;
} }
</style> </style>
\ No newline at end of file
{% endif %}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -130,13 +130,13 @@ ...@@ -130,13 +130,13 @@
<div class="tabbable"> <div class="tabbable">
<ul class="nav nav-tabs nav-tabs-bottom nav-justified"> <ul class="nav nav-tabs nav-tabs-bottom nav-justified">
<li onclick="changetabs(this)" class="active"><a href="#left-tab1-feas-upl-j" data-toggle="tab">Koordinat</a></li> <li onclick="changetabs(this)" id="koordinat_cek" class="active"><a href="#left-tab1-feas-upl-j" data-toggle="tab">Koordinat</a></li>
<li onclick="changetabs(this)"><a href="#right-tab2-feas-upl-j" data-toggle="tab">Informasi Umum</a></li> <li onclick="changetabs(this)" id="info_umum"><a href="#right-tab2-feas-upl-j" data-toggle="tab">Informasi Umum</a></li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane active" id="left-tab1-feas-upl-j"> <div class="tab-pane active" id="left-tab1-feas-upl-j">
<div id="map-jalan" style="width: 400px;height: 300px;position: relative;margin-left: 100px;"></div> <div id="map-jalan" style="height: 300px;position: relative;"></div>
<div class="form-group"> <div class="form-group">
<label class="col-lg-2 control-label" style="margin-top:10px">Image</label> <label class="col-lg-2 control-label" style="margin-top:10px">Image</label>
...@@ -268,6 +268,10 @@ ...@@ -268,6 +268,10 @@
</div> </div>
<div id="input_perbaikan_bang-s" class="modal fade">
</div>
<!-- modal tuplah --> <!-- modal tuplah -->
<div id="modal-edit-tuplah" class="modal fade"> <div id="modal-edit-tuplah" class="modal fade">
<div class="modal-dialog" style="width: max-content;height: max-content;"> <div class="modal-dialog" style="width: max-content;height: max-content;">
...@@ -291,7 +295,30 @@ ...@@ -291,7 +295,30 @@
<table> <table>
<tr> <tr>
<th> <th>
Image Luas &nbsp;
</th>
<td>
<input id="luas_tuplah_edit" type="text" class="form-control" value="" disabled>
</td>
<td>
<button type="submit" id="btn_ceklwas" class="btn btn-primary" title="Check Luas" style="border-radius: 0px 10px 10px 0px;
outline: none;
background: linear-gradient(
201.55deg
, #72BBFF -24.21%, #3D5CCA 130.65%);"><i class="icon-search4 text-muted text-size-base" style="color: white;"></i></button>
</td>
</tr>
<tr>
<th>
&nbsp;
</th>
<td>
&nbsp;
</td>
</tr>
<tr>
<th>
Image &nbsp;
</th> </th>
<td> <td>
<input type="file" id="imgtuplah" name="images[]" multiple accept="image/jpg,image/png,image/jpeg,image/gif"> <input type="file" id="imgtuplah" name="images[]" multiple accept="image/jpg,image/png,image/jpeg,image/gif">
...@@ -324,8 +351,8 @@ ...@@ -324,8 +351,8 @@
<div class="modal-dialog modal-xs"> <div class="modal-dialog modal-xs">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <button type="button" class="close" style="color: white;" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title">3D Searching</h4> <h4 class="modal-title" style="color: white;">3D Searching</h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<fieldset> <fieldset>
...@@ -573,7 +600,7 @@ ...@@ -573,7 +600,7 @@
<div class="modal fade" id="modal_option_create" tabindex="-1" role="dialog"> <div class="modal fade" id="modal_option_create" tabindex="-1" role="dialog">
<div class="modal-dialog modal-xs" style="width: 350px;"> <div class="modal-dialog modal-xs" style="width: 450px;">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
...@@ -622,6 +649,28 @@ ...@@ -622,6 +649,28 @@
</div> </div>
</a> </a>
</div> </div>
<div class="col-md-4 text-center">
<a href="#" class="btn btn_create_lahan">
<div>
<img src="{% static 'img/icon-1/SquareHalflahan.svg' %}" alt="" style="width: 35px;
height: 35px;">
</div>
<div style="margin-top: 10px;">
<span>Lahan</span>
</div>
</a>
</div>
<div class="col-md-4 text-center">
<a href="#" class="btn btn_cek_KDBKLB">
<div>
<img src="{% static 'img/icon-1/kelurahan.svg' %}" alt="" style="width: 35px;
height: 35px;">
</div>
<div style="margin-top: 10px;">
<span>KDB & KLB</span>
</div>
</a>
</div>
</div> </div>
</fieldset> </fieldset>
...@@ -640,8 +689,8 @@ ...@@ -640,8 +689,8 @@
<div class="modal-body" id="create_all"> <div class="modal-body" id="create_all">
<div class="tabbable" style="height:450px!important;width: 560px!important;"> <div class="tabbable" style="height:450px!important;width: 560px!important;">
<ul class="nav nav-tabs nav-tabs-bottom nav-justified"> <ul class="nav nav-tabs nav-tabs-bottom nav-justified">
<li onclick="changetabs(this)" class="active"><a href=".koordinatjalan" data-toggle="tab" class="tab_1">Koordinat</a></li> <li onclick="changetabs(this)" id="tab_koor" class="active"><a href=".koordinatjalan" data-toggle="tab" class="tab_1">Koordinat</a></li>
<li onclick="changetabs(this)"><a href="#informasi_create" data-toggle="tab" class="tab_2">Informasi Jalan</a></li> <li onclick="changetabs(this)" id="tab_info"><a href="#informasi_create" data-toggle="tab" id="informasi_poo" class="tab_2">Informasi Jalan</a></li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
...@@ -663,11 +712,11 @@ ...@@ -663,11 +712,11 @@
</div> </div>
</div> </div>
<div class="modal fade" id="user_profile" tabindex="-1" role="dialog" style="margin-left: 50px;padding-left:0px"> <div class="modal fade" id="user_profile" tabindex="-1" role="dialog" style="margin-left: 50px;padding-left:0px;">
<div class="modal-dialog" style="width: 100%; <div class="modal-dialog" style="width: 100%;
margin: 0px; margin: 0px;
height: 100vh;"> height: 100vh;overflow-y: scroll;">
<div class="modal-content" style="height: 100vh;"> <div class="modal-content">
<div class="modal-body"> <div class="modal-body">
<div class="row"> <div class="row">
...@@ -785,7 +834,7 @@ ...@@ -785,7 +834,7 @@
width: 90%; width: 90%;
background: #FFFFFF; background: #FFFFFF;
box-sizing: border-box; box-sizing: border-box;
border-radius: 5px;display:none;" onclick="btnuserclick(event)"> border-radius: 5px;" onclick="btnuserclick(event)">
<div class="row"> <div class="row">
<div class="col-sm-2"> <div class="col-sm-2">
<img src="{% static 'img/icon-1/help.svg' %}" alt=""> <img src="{% static 'img/icon-1/help.svg' %}" alt="">
...@@ -830,10 +879,7 @@ ...@@ -830,10 +879,7 @@
</div> </div>
<div style="border-bottom: 1pt solid #E2E2E2;"> <div style="border-bottom: 1pt solid #E2E2E2;">
<div class="tab_personal_information" style="margin:0px;"> <div class="tab_personal_information" style="margin:0px;">
<div class="alert alert-danger" id="notificationsprop" style="display: none;margin: 0px; <div class="alert alert-danger" id="notificationsprop" style="display: none;margin: 0px;padding-top: 0px;padding-bottom: 0px;">
padding-top: 0px;
padding-bottom: 0px;">
</div> </div>
<form class="form-horizontal" id="formmen" method="post" enctype="multipart/form-data"> <form class="form-horizontal" id="formmen" method="post" enctype="multipart/form-data">
<div class="panel-body"> <div class="panel-body">
...@@ -997,43 +1043,27 @@ ...@@ -997,43 +1043,27 @@
</div> </div>
</a> </a>
</div>
<div style="position: absolute;left: 250px;font-size: 10pt;background: #2196F3;border-radius: 10px;">
<a class="btn side-bar-but" id="add_user" style="z-index:9;color:white;">
<div>
<span>Tambah User</span>
</div>
</a>
</div> </div>
<thead style="font-size: 12px;line-height: 14px;font-family: 'gilroysemibold';text-transform: capitalize;"> <thead style="font-size: 12px;line-height: 14px;font-family: 'gilroysemibold';text-transform: capitalize;">
<tr> <tr>
<th>No.</th> <th>No.</th>
<th>Id user</th>
<th>Nama</th> <th>Nama</th>
<th>Email</th> <th>Email</th>
<th>No. Telp</th>
<th>Jabatan</th>
<th>Last Login</th> <th>Last Login</th>
<th>Status</th> <th>Action/Status</th>
<th>Action</th>
</tr> </tr>
</thead> </thead>
<tbody id="tbody_user_list"> <tbody id="tbody_user_list">
{% for all in user_res %}
<tr>
<td>{{forloop.counter}}</td>
<td>{{all.id}}</td>
<td>{{all.username}}</td>
<td>{{all.email}}</td>
<td>{{all.last}}</td>
<td>{{all.isactive}}</td>
<td class="text-center ">
<a class="btn mdlFire " onclick="loaddetailid( '{{all.id}}') " data-toggle="modal" data-target="#modal_detail_perbaikan " style="background-color: #5A9AFB;color: white;border-radius: 5px;width: 85px;height: 25px; ">
<div style="margin-top: -5px; ">
<i class="icon-search4 text-muted text-size-base " style="color: white;font-size: 10px; "></i>
<span>&nbsp;&nbsp;
Detail</span>
</div>
</a>
</td>
</tr>
{% endfor %}
</tbody> </tbody>
</table> </table>
...@@ -1074,9 +1104,6 @@ ...@@ -1074,9 +1104,6 @@
Help & Support Help & Support
</div> </div>
<span>
Lorem ipsum dolor sit amet consectetur adipisicing elit. Eaque, minus. Obcaecati consequuntur, consequatur vitae soluta tempora doloremque quis eligendi officia illo ad nesciunt tenetur, nostrum cum deleniti, dolorum explicabo sed!
</span>
</div> </div>
<div class="panel panel-flat" style="margin:10px;"> <div class="panel panel-flat" style="margin:10px;">
<div class="row"> <div class="row">
...@@ -1133,15 +1160,306 @@ ...@@ -1133,15 +1160,306 @@
<div class="form-group"> <div class="form-group">
<div class="col-md-12"> <div class="col-md-12">
<label class="control-label"> Pesan :</label> <label class="control-label"> Pesan :</label>
<textarea rows="5" cols="5" class="form-control" id="pesan_pengirim" placeholder="Tuliskan Pesan disini"></textarea> <textarea rows="5" cols="5" class="form-control" id="pesan_pengirim" placeholder="Tuliskan Pesan disini" style="height: 240px;"></textarea>
</div> </div>
</div> </div>
</div> </div>
<button type="button" class="btn btn-info" id="send_pesan" style=" margin: 10px;float: right;border: none;">Send Messages</button>
</div> </div>
</div> </div>
</div> </div>
<div>
<div style="margin: 0px 70px;">
<div class="text-center" style="font-size: 22px;margin:10px">
How can we help you ?
</div>
<!-- <input class="form-control" type="text" name="" id=""> -->
<div class="panel panel-flat" style="margin-top: 5px;">
<div class="panel-heading" style="padding-top: 10px;padding-bottom: 10px;">
<h6 class="panel-title"><b>Login</b></h6>
<div class="heading-elements">
<ul class="icons-list">
<li>
<a data-action="collapse"></a>
</li>
</ul>
</div>
</div>
<div class="panel-body" style="display: none;">
<table>
<tr>
<td>1.</td>
<td>Pada halaman dashboard, klik tombol “SIGN IN” untuk melakukan login</td>
</tr>
<tr>
<td>2.</td>
<td>
Masukkan <i>username</i> dan <i>password</i>
</td>
</tr>
<tr>
<td>3.</td>
<td>
Kemudian klik tombol “Log In”
</td>
</tr>
<tr>
<td>4.</td>
<td>
Akan muncul Welcome Page seperti di bawah
</td>
</tr>
</table>
</div>
</div>
<div class="panel panel-flat" style="margin-top: 5px;">
<div class="panel-heading" style="padding-top: 10px;padding-bottom: 10px;">
<h6 class="panel-title"><b>Akses Fitur 3D</b></h6>
<div class="heading-elements">
<ul class="icons-list">
<li>
<a data-action="collapse"></a>
</li>
</ul>
</div>
</div>
<div class="panel-body" style="display: none;">
<table>
<tr>
<td>1.</td>
<td>Pada halaman utama aplikasi, klik icon</td>
</tr>
<tr>
<td>2.</td>
<td>
Setelah itu akan muncul form 3D Searching, lalu pilih desa,
</td>
</tr>
<tr>
<td>3.</td>
<td>
Lalu klik tombol “Search”
</td>
</tr>
<tr>
<td>4.</td>
<td>
Maka akan muncul desa yang dicari
</td>
</tr>
</table>
</div>
</div>
<div class="panel panel-flat" style="margin-top: 5px;">
<div class="panel-heading" style="padding-top: 10px;padding-bottom: 10px;">
<h6 class="panel-title"><b>Memunculkan Data Bangunan</b></h6>
<div class="heading-elements">
<ul class="icons-list">
<li>
<a data-action="collapse"></a>
</li>
</ul>
</div>
</div>
<div class="panel-body" style="display: none;">
<table>
<tr>
<td>1.</td>
<td>Pada halaman utama aplikasi, klik icon</td>
</tr>
<tr>
<td>2.</td>
<td>
Setelah itu akan muncul halaman sidebar filters
</td>
</tr>
<tr>
<td>3.</td>
<td>
Kemudian checklist pada bagian bagunan
</td>
</tr>
<tr>
<td>4.</td>
<td>
Maka akan muncul tampilan bangunan (polygon bangunan akan muncul ketika zoom > 17)
</td>
</tr>
<tr>
<td>5.</td>
<td>Untuk melihat informasi bangunan, klik bagian bangunan yang akan di lihat informasinya.
</td>
</tr>
</table>
</div>
</div>
<div class="panel panel-flat" style="margin-top: 5px;">
<div class="panel-heading" style="padding-top: 10px;padding-bottom: 10px;">
<h6 class="panel-title"><b>Memunculkan Data Tempat</b></h6>
<div class="heading-elements">
<ul class="icons-list">
<li>
<a data-action="collapse"></a>
</li>
</ul>
</div>
</div>
<div class="panel-body" style="display: none;">
<table>
<tr>
<td>
1.
</td>
<td>
Klik icon
<img src="{% static 'img/icon-1/Screenshot_poi.png'%}" alt=""> pie pada sidebar
</td>
</tr>
<tr>
<td>
2.
</td>
<td>
Sehingga akan muncul informasi berikut
</td>
</tr>
<tr>
<td>
</td>
<td>
<img src="{% static 'img/icon-1/Screenshot_menu_layer.png'%}" alt="" style="max-width: 500px;">
</td>
</tr>
<tr>
<td>
3.
</td>
<td>
Untuk informasi tempat, klik Point Of Interest
</td>
</tr>
<tr>
<td>
4.
</td>
<td>
Untuk informasi tempat, klik Point Of Interest
</td>
</tr>
<tr>
<td>
5.
</td>
<td>
Ceklist data tempat yang akan dimunculkan
</td>
</tr>
<tr>
<td>
</td>
<td>
<img src="{% static 'img/icon-1/Screenshot_point_of_interest.png' %}" alt="" style="max-width: 500px;">
</td>
</tr>
<tr>
<td>
6.
</td>
<td>
Sehingga akan muncul informasi sebagai berikut
</td>
</tr>
<tr>
<td>
</td>
<td>
<img src="{% static 'img/icon-1/Screenshot_dash_poi.png' %}" alt="" style="max-width: 500px;">
</td>
</tr>
<tr>
<td>
7.
</td>
<td>
Untuk informasi tempat lebih detail, klik tempat yang akan di munculkan detailnya
</td>
</tr>
<tr>
<td>
8.
</td>
<td>
Akan muncul informasi detail tempat seperti berikut
</td>
</tr>
<tr>
<td>
</td>
<td>
<img src="{% static 'img/icon-1/Screenshot_detail_point.png' %}" alt="">
</td>
</tr>
</table>
</div>
</div>
<div class="panel panel-flat" style="margin-top: 5px;">
<div class="panel-heading" style="padding-top: 10px;padding-bottom: 10px;">
<h6 class="panel-title"><b>Menemukan Informasi Data Perbaikan</b></h6>
<div class="heading-elements">
<ul class="icons-list">
<li>
<a data-action="collapse"></a>
</li>
</ul>
</div>
</div>
<div class="panel-body" style="display: none;">
<table>
<tr>
<td>
1.
</td>
<td>
Klik icon pie pada sidebar
</td>
</tr>
<tr>
<td></td>
<td>
<img src="{% static 'img/icon-1/icon_pie_sd.png' %}" alt="">
</td>
</tr>
<tr>
<td>
2.
</td>
<td>
Setelah di-klik maka akan muncul informasi berikut
</td>
</tr>
<tr>
<td></td>
<td>
<img src="{% static 'img/icon-1/Screen_shot_data_perbaikan.png' %}" alt="" style="max-width: 500px;">
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
...@@ -1334,9 +1652,9 @@ ...@@ -1334,9 +1652,9 @@
<!-- Main charts --> <!-- Main charts -->
<div class="panel panel-flat" style="display: none;width: 1000px;"> <div class="panel panel-flat" style="display: none;width: 1000px;">
<div class="panel-header" style="height: 50px;background: #1E2233;border-top-left-radius: 10px;border-top-right-radius: 10px;"> <div class="panel-header" style="height: 50px;background: #1E2233;border-top-left-radius: 10px;border-top-right-radius: 10px;">
<!-- <button type="button" class="close" onclick="destroyWraper()" style=" width: 30px; <button type="button" class="close" onclick="destroyWraper()" style=" width: 30px;
color: white; color: white;
height: 30px;">&times;</button> --> height: 30px;">&times;</button>
<h5 class="modal-title title-create" style="color: white;margin-left: 25px;padding-top: 10px;">Input Perbaikan</h5> <h5 class="modal-title title-create" style="color: white;margin-left: 25px;padding-top: 10px;">Input Perbaikan</h5>
</div> </div>
<div class="panel-body" style="padding-top: 10px;"> <div class="panel-body" style="padding-top: 10px;">
...@@ -1504,6 +1822,14 @@ ...@@ -1504,6 +1822,14 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row">
<div class="form-group">
<label class="col-lg-3 control-label lbl-top">Phone</label>
<div class="col-lg-9">
<input id="phone" type="number" class="form-control" value="" required>
</div>
</div>
</div>
<div class="row" style="margin-top: 20px;"> <div class="row" style="margin-top: 20px;">
<div class="form-group"> <div class="form-group">
...@@ -1522,12 +1848,12 @@ ...@@ -1522,12 +1848,12 @@
</div> </div>
</div> </div>
<div class="row"> <div class="row" group_use>
<div class="form-group" style="margin-top: 10px !important;"> <div class="form-group" style="margin-top: 10px !important;">
<label class="col-lg-3 control-label lbl-top">Groups</label> <label class="col-lg-3 control-label lbl-top">Groups</label>
<div class="col-lg-9"> <div class="col-lg-9">
<select style="border-bottom: 1px solid rgb(83, 83, 83) !important;" id="select_group" data-placeholder="select group.." class="select-size-xs"> <select style="border-bottom: 1px solid rgb(83, 83, 83) !important;" id="select_group" data-placeholder="select group.." class="select-size-xs">
<option></option> <option value="none"></option>
</select> </select>
</div> </div>
</div> </div>
...@@ -1671,14 +1997,14 @@ ...@@ -1671,14 +1997,14 @@
<div class="tabbable"> <div class="tabbable">
<ul class="nav nav-tabs nav-tabs-bottom nav-justified"> <ul class="nav nav-tabs nav-tabs-bottom nav-justified">
<li onclick="changetabs(this)" class="active"><a href="#left-tab1-feas-upli" data-toggle="tab">Koordinat</a></li> <li onclick="changetabs(this)" id="koordinat_cek" class="active"><a href="#left-tab1-feas-upli" data-toggle="tab">Koordinat</a></li>
<li onclick="changetabs(this)"><a href="#right-tab2-feas-upli" data-toggle="tab">Informasi Umum</a></li> <li onclick="changetabs(this)" id="info_umum"><a href="#right-tab2-feas-upli" data-toggle="tab">Informasi Umum</a></li>
</ul> </ul>
<div class="tab-content"> <div class="tab-content">
<div class="tab-pane active" id="left-tab1-feas-upli"> <div class="tab-pane active" id="left-tab1-feas-upli">
<div id="map-for-edit" style="width: 400px;height: 300px;position: relative;margin-left: 100px;"></div> <div id="map-for-edit" style="height: 300px;position: relative;margin:10px"></div>
<div class="form-group"> <div class="form-group">
<label class="col-lg-2 control-label" style="margin-top:10px">Image</label> <label class="col-lg-2 control-label" style="margin-top:10px">Image</label>
<div class="col-lg-9" style="margin-top:10px"> <div class="col-lg-9" style="margin-top:10px">
...@@ -1755,4 +2081,394 @@ ...@@ -1755,4 +2081,394 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="modal fade" id="modal_help" tabindex="-1" role="dialog" style="margin-left: 50px;padding-left:0px;">
<div class="modal-dialog" style="width: 75%;
margin: 0px;
height: 100vh;">
<div class="modal-content">
<div class="modal-body">
<div class="row">
<div class="col-md-12">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" style="
margin: 0px 8px 0px 0px;
width: 25px;
height: 25px;
background-color: white;
top: -10px;
position: absolute;
right: -5px;
opacity: 1;
z-index: 999;
border-radius: 12px;
">×</button>
<div>
<div style="font-size: 22px;margin:10px">
Help & Support
</div>
</div>
<div class="panel panel-flat" style="margin:10px;">
<div class="row">
<div class="col-md-4">
<div style="margin: 10px;background-color:#2F343A;border-radius:10px">
<div style="background-image: url(/static/img/icon-1/contact_info.svg);height:330px;border-radius:10px;">
<div style="margin:0px 20px;padding:20px;color:white">
<div style="margin-bottom: 10px;font-size:16px;">
Contact Information
</div>
<div style="margin-top: 20px;">
<div class="row" style="margin-top: 20px;">
<i class="col-md-4 icon-phone2"></i>
<span class="col-md-8">(0222) 0668202</span>
</div>
<div class="row" style="margin-top: 20px;">
<i class="col-md-4 icon-envelop3"></i>
<span class="col-md-8">admin@khansia.com</span>
</div>
<div class="row" style="margin-top: 20px;">
<i class="col-md-4 icon-location3"></i>
<span class="col-md-8">Komplek Taman Bumi Prima blok s14, Cibabat, Cimahi Utara, Kota Cimahi</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-8" style="margin-top:10px">
<div>
<div class="row">
<div class="col-md-6">
<div class="form-group">
<div class="col-md-12">
<label class="control-label"> Nama :</label>
<input type="text" id="nama_pengirim" class="form-control">
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<div class="col-md-12">
<label class="control-label"> Email:</label>
<input type="text" id="email_pengirim" class="form-control">
</div>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<label class="control-label"> Pesan :</label>
<textarea rows="5" cols="5" class="form-control" id="pesan_pengirim" placeholder="Tuliskan Pesan disini" style="height: 240px;"></textarea>
</div>
</div>
</div>
<button type="button" class="btn btn-info" id="send_pesan" style=" margin: 10px;float: right;border: none;">Send Messages</button>
</div>
</div>
</div>
<div>
<div style="margin: 0px 70px;">
<div class="text-center" style="font-size: 22px;margin:10px">
How can we help you ?
</div>
<!-- <input class="form-control" type="text" name="" id=""> -->
<div class="panel panel-flat" style="margin-top: 5px;">
<div class="panel-heading" style="padding-top: 10px;padding-bottom: 10px;">
<h6 class="panel-title"><b>Login</b></h6>
<div class="heading-elements">
<ul class="icons-list">
<li>
<a data-action="collapse"></a>
</li>
</ul>
</div>
</div>
<div class="panel-body" style="display: none;">
<table>
<tr>
<td>1.</td>
<td>Pada halaman dashboard, klik tombol “SIGN IN” untuk melakukan login</td>
</tr>
<tr>
<td>2.</td>
<td>
Masukkan <i>username</i> dan <i>password</i>
</td>
</tr>
<tr>
<td>3.</td>
<td>
Kemudian klik tombol “Log In”
</td>
</tr>
<tr>
<td>4.</td>
<td>
Akan muncul Welcome Page seperti di bawah
</td>
</tr>
</table>
</div>
</div>
<div class="panel panel-flat" style="margin-top: 5px;">
<div class="panel-heading" style="padding-top: 10px;padding-bottom: 10px;">
<h6 class="panel-title"><b>Akses Fitur 3D</b></h6>
<div class="heading-elements">
<ul class="icons-list">
<li>
<a data-action="collapse"></a>
</li>
</ul>
</div>
</div>
<div class="panel-body" style="display: none;">
<table>
<tr>
<td>1.</td>
<td>Pada halaman utama aplikasi, klik icon</td>
</tr>
<tr>
<td>2.</td>
<td>
Setelah itu akan muncul form 3D Searching, lalu pilih desa,
</td>
</tr>
<tr>
<td>3.</td>
<td>
Lalu klik tombol “Search”
</td>
</tr>
<tr>
<td>4.</td>
<td>
Maka akan muncul desa yang dicari
</td>
</tr>
</table>
</div>
</div>
<div class="panel panel-flat" style="margin-top: 5px;">
<div class="panel-heading" style="padding-top: 10px;padding-bottom: 10px;">
<h6 class="panel-title"><b>Memunculkan Data Bangunan</b></h6>
<div class="heading-elements">
<ul class="icons-list">
<li>
<a data-action="collapse"></a>
</li>
</ul>
</div>
</div>
<div class="panel-body" style="display: none;">
<table>
<tr>
<td>1.</td>
<td>Pada halaman utama aplikasi, klik icon</td>
</tr>
<tr>
<td>2.</td>
<td>
Setelah itu akan muncul halaman sidebar filters
</td>
</tr>
<tr>
<td>3.</td>
<td>
Kemudian checklist pada bagian bagunan
</td>
</tr>
<tr>
<td>4.</td>
<td>
Maka akan muncul tampilan bangunan (polygon bangunan akan muncul ketika zoom > 17)
</td>
</tr>
<tr>
<td>5.</td>
<td>Untuk melihat informasi bangunan, klik bagian bangunan yang akan di lihat informasinya.
</td>
</tr>
</table>
</div>
</div>
<div class="panel panel-flat" style="margin-top: 5px;">
<div class="panel-heading" style="padding-top: 10px;padding-bottom: 10px;">
<h6 class="panel-title"><b>Memunculkan Data Tempat</b></h6>
<div class="heading-elements">
<ul class="icons-list">
<li>
<a data-action="collapse"></a>
</li>
</ul>
</div>
</div>
<div class="panel-body" style="display: none;">
<table>
<tr>
<td>
1.
</td>
<td>
Klik icon
<img src="{% static 'img/icon-1/Screenshot_poi.png'%}" alt=""> pie pada sidebar
</td>
</tr>
<tr>
<td>
2.
</td>
<td>
Sehingga akan muncul informasi berikut
</td>
</tr>
<tr>
<td>
</td>
<td>
<img src="{% static 'img/icon-1/Screenshot_menu_layer.png'%}" alt="" style="max-width: 500px;">
</td>
</tr>
<tr>
<td>
3.
</td>
<td>
Untuk informasi tempat, klik Point Of Interest
</td>
</tr>
<tr>
<td>
4.
</td>
<td>
Untuk informasi tempat, klik Point Of Interest
</td>
</tr>
<tr>
<td>
5.
</td>
<td>
Ceklist data tempat yang akan dimunculkan
</td>
</tr>
<tr>
<td>
</td>
<td>
<img src="{% static 'img/icon-1/Screenshot_point_of_interest.png' %}" alt="" style="max-width: 500px;">
</td>
</tr>
<tr>
<td>
6.
</td>
<td>
Sehingga akan muncul informasi sebagai berikut
</td>
</tr>
<tr>
<td>
</td>
<td>
<img src="{% static 'img/icon-1/Screenshot_dash_poi.png' %}" alt="" style="max-width: 500px;">
</td>
</tr>
<tr>
<td>
7.
</td>
<td>
Untuk informasi tempat lebih detail, klik tempat yang akan di munculkan detailnya
</td>
</tr>
<tr>
<td>
8.
</td>
<td>
Akan muncul informasi detail tempat seperti berikut
</td>
</tr>
<tr>
<td>
</td>
<td>
<img src="{% static 'img/icon-1/Screenshot_detail_point.png' %}" alt="">
</td>
</tr>
</table>
</div>
</div>
<div class="panel panel-flat" style="margin-top: 5px;">
<div class="panel-heading" style="padding-top: 10px;padding-bottom: 10px;">
<h6 class="panel-title"><b>Menemukan Informasi Data Perbaikan</b></h6>
<div class="heading-elements">
<ul class="icons-list">
<li>
<a data-action="collapse"></a>
</li>
</ul>
</div>
</div>
<div class="panel-body" style="display: none;">
<table>
<tr>
<td>
1.
</td>
<td>
Klik icon pie pada sidebar
</td>
</tr>
<tr>
<td></td>
<td>
<img src="{% static 'img/icon-1/icon_pie_sd.png' %}" alt="">
</td>
</tr>
<tr>
<td>
2.
</td>
<td>
Setelah di-klik maka akan muncul informasi berikut
</td>
</tr>
<tr>
<td></td>
<td>
<img src="{% static 'img/icon-1/Screen_shot_data_perbaikan.png' %}" alt="" style="max-width: 500px;">
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div> </div>
\ No newline at end of file
...@@ -4,15 +4,14 @@ ...@@ -4,15 +4,14 @@
<div class="dropdown show-dropdown"> <div class="dropdown show-dropdown">
<a href="#" type="checkbox"> <a href="#" type="checkbox">
<input type="checkbox" name="checkbox" onclick="mapsganti()" id="mapschange" style="position: absolute;opacity: 0;width: 40px;height: 40px;margin-top: -5px;"> <input type="checkbox" name="checkbox" onclick="mapsganti()" id="mapschange" style="position: absolute;opacity: 0;width: 50px;height: 50px;margin-top: 0px;z-index:2;cursor: pointer;">
<div id="labelchange"> <div id="labelchange">
<img src="{% static 'img/icon-1/Vector3d.svg' %}" alt="" style="height: 50px; <img src="{% static 'img/icon-1/Vector3d.svg' %}" alt="" style="height: 50px;
width: 50px;"> width: 50px;">
</div> </div>
</a> </a>
</div> </div>
<span class="tooltiptext tooltip-left" style="font-family: 'gilroysemibold'; <span class="tooltiptext tooltip-left tooltip-3d" style="font-family: 'gilroysemibold';
color: #085E8C;">3D</span> color: #085E8C;">3D</span>
</li> </li>
...@@ -72,16 +71,17 @@ ...@@ -72,16 +71,17 @@
</ul> </ul>
</div> </div>
</li> </li>
<li class="fixed-plugin no3d" style="top: 170px;"> <li class="fixed-plugin no3d overlay-cek" style="top: 170px;">
<span class="tooltiptext tooltip-left" style="font-family: 'gilroysemibold';color: #6D3FDE;">Overlay</span> <span class="tooltiptext tooltip-left" style="font-family: 'gilroysemibold';color: #6D3FDE;">Overlay</span>
<div class="jumlah-ceklis">
</div>
<div class="dropdown show-dropdown "> <div class="dropdown show-dropdown ">
<a href="#" data-toggle="dropdown"> <a href="#" data-toggle="dropdown">
<img src="{% static 'img/icon-1/Vectoroverlay.svg' %}" alt="" style="height: 50px; <img src="{% static 'img/icon-1/Vectoroverlay.svg' %}" alt="" style="height: 50px;
width: 50px;"> width: 50px;">
</a> </a>
<ul class="dropdown-menu" style="top: 12px; <ul class="dropdown-menu">
width: 300px;
margin-left: -270px!important;">
<li class="header-title text-center">Sidebar Filters</li> <li class="header-title text-center">Sidebar Filters</li>
<!-- <div id="sidebar" onmouseleave="overll()"> <!-- <div id="sidebar" onmouseleave="overll()">
<div class="sidebar-wrapper"> <div class="sidebar-wrapper">
...@@ -101,7 +101,7 @@ ...@@ -101,7 +101,7 @@
<div class="checkbox"> <div class="checkbox">
<label> <label>
<input type="checkbox" id="geo_building" style="margin-top:2px;"> <input type="checkbox" id="geo_building" onclick="georumah()" style="margin-top:2px;">
<img src="/static/img/icon-1/Buildingsbangunan.svg" alt="" style="margin-top: -5px;"> <img src="/static/img/icon-1/Buildingsbangunan.svg" alt="" style="margin-top: -5px;">
<span> <span>
Bangunan Bangunan
......
...@@ -9,13 +9,24 @@ ...@@ -9,13 +9,24 @@
border-bottom: 0.5pt solid #313649; border-bottom: 0.5pt solid #313649;
} }
</style> </style>
<!-- <div class="navbar navbar-inverse" style="z-index: 1;
top: 45px;
position: absolute;
background: none;border-color: transparent;">
<div class="navbar-header" style="min-width: 0px;">
<ul class="nav navbar-nav visible-xs-block">
<li><a class="sidebar-mobile-main-toggle" style="border-radius: 5px;"><i class="icon-paragraph-justify3"></i></a></li>
</ul>
</div>
</div> -->
<div class="sidebar sidebar-main"> <div class="sidebar sidebar-main">
<div class="sidebar-content"> <div class="sidebar-content">
<img src="{% static 'img/logo-ok.png' %}" alt="" style="width: 25px;height:32px;"> <img src="{% static 'img/logo-ok.png' %}" alt="" style="width: 25px;height:32px;">
</div> </div>
<div class="sidebar-category sidebar-category-visible"> <div class="sidebar-category sidebar-category-visible">
<div class="category-content no-padding"> <div class="category-content no-padding">
<ul class="navigation navigation-main navigation-accordion" style="margin-bottom: 45vh;"> <ul class="navigation navigation-main navigation-accordion" style="margin-bottom: 40vh;">
<!-- Main --> <!-- Main -->
<li id="button_keterangan"> <li id="button_keterangan">
...@@ -29,19 +40,19 @@ ...@@ -29,19 +40,19 @@
</a> </a>
</li> </li>
<li style="margin-top: 60vh;position: absolute;"> <li style="margin-top: 60vh;position: absolute;">
<a href="#" id="btn-hide-all" class="side-bar-but" style="position: absolute;margin-top: 20px; display: block!important;"> <a href="#" id="btn-hide-all" class="side-bar-but" style="position: absolute; margin-top: 0px; display: none;">
<i class="icon-arrow-right13"></i> <i class="icon-arrow-left12"></i>
</a> </a>
</li> </li>
</ul> </ul>
<ul class="navigation navigation-main navigation-accordion"> <ul class="navigation navigation-main navigation-accordion" style="height: 100px;">
<!-- <li> <li>
<a href="#" class="side-bar-but"> <a href="#" class="side-bar-but" data-toggle="modal" data-target="#modal_help" data-backdrop="static" data-keyboard="false">
<img src="{% static 'img/icon-1/Vectoriconwarning.svg' %}" alt="" style="height: 17.875003814697266px;width: 17.875003814697266px;margin-left: -8px;"> <img src="{% static 'img/icon-1/Vectoriconwarning.svg' %}" alt="" style="height: 17.875003814697266px;width: 17.875003814697266px;margin-left: -8px;">
</a> </a>
</li> --> </li>
<li> <li>
<a href="{% url 'logout' %}" class="side-bar-but"> <a href="{% url 'logout' %}" class="side-bar-but">
<img src="{% static 'img/icon-1/Vectoriconlogout.svg' %}" alt="" style="height: 17.875003814697266px;width: 17.875003814697266px;margin-left: -8px;"> <img src="{% static 'img/icon-1/Vectoriconlogout.svg' %}" alt="" style="height: 17.875003814697266px;width: 17.875003814697266px;margin-left: -8px;">
...@@ -352,8 +363,8 @@ ...@@ -352,8 +363,8 @@
<div class="col-sm-2"> <div class="col-sm-2">
<div class="checkbox checkbox-switchery"> <div class="checkbox checkbox-switchery">
<label> <label>
<input type="checkbox" class="switchery-custom" id="cabud" onclick="cb100()"> <input type="checkbox" class="switchery-custom" id="cabud" onclick="cb100()">
</label> </label>
</div> </div>
</div> </div>
...@@ -413,7 +424,7 @@ ...@@ -413,7 +424,7 @@
<div class="form-group" style="margin-top: 15px;width: 98%;"> <div class="form-group" style="margin-top: 15px;width: 98%;">
<select name="select" id="sel-kec" class="form-control input-sm" style="background-color: #393E54;border-radius: 8px;border-color: #393E54;color: white;"> <select name="select" id="sel-kec" class="form-control input-sm" style="background-color: #393E54;border-radius: 8px;border-color: #393E54;color: white;">
<option>Pilih Kecamatan</option> <option value="all_kecamatan">Pilih Kecamatan</option>
{% for nama_kecamatan in kecamatan %} {% for nama_kecamatan in kecamatan %}
<option value="{{nama_kecamatan.administrasi.f1}}">{{nama_kecamatan.administrasi.f2}}</option> <option value="{{nama_kecamatan.administrasi.f1}}">{{nama_kecamatan.administrasi.f2}}</option>
{% endfor %} {% endfor %}
...@@ -686,18 +697,23 @@ ...@@ -686,18 +697,23 @@
}, },
dataType: 'json', dataType: 'json',
success: function(data) { success: function(data) {
if (data['res_kel'] == 'all_kecamatan') {
$('#sel-desa').html(`<option>Pilih Desa</option>`);
} else {
var data_all_desa = []
for (var i = 0; i < data['res_kel'].length; i++) {
var id_k = data['res_kel'][i][0];
var data_k = data['res_kel'][i][1];
var data_kel = `<option value="` + id_k + ` ">` +
data_k +
`</option>`;
data_all_desa.push(data_kel)
};
$('#sel-desa').html(`<option>Pilih Desa</option>` + data_all_desa);
}
var data_all_desa = []
for (var i = 0; i < data['res_kel'].length; i++) {
var id_k = data['res_kel'][i][0];
var data_k = data['res_kel'][i][1];
var data_kel = `<option value="` + id_k + ` ">` +
data_k +
`</option>`;
data_all_desa.push(data_kel)
};
$('#sel-desa').html(`<option>Pilih Desa</option>` + data_all_desa);
var data_perbaikan = [] var data_perbaikan = []
var number = 0; var number = 0;
...@@ -1170,7 +1186,7 @@ ...@@ -1170,7 +1186,7 @@
$("#manage_perbaikan").removeClass("active"); $("#manage_perbaikan").removeClass("active");
$("#panel-sm").removeClass("active"); $("#panel-sm").removeClass("active");
$("#panel-sm2").removeClass("active"); $("#panel-sm2").removeClass("active");
$(this).css('display', 'none');
$(this).removeClass("hid"); $(this).removeClass("hid");
}); });
...@@ -1179,7 +1195,7 @@ ...@@ -1179,7 +1195,7 @@
$("#manage_perbaikan").removeClass("active"); $("#manage_perbaikan").removeClass("active");
$("#panel-sm").removeClass("active"); $("#panel-sm").removeClass("active");
$("#panel-sm2").removeClass("active"); $("#panel-sm2").removeClass("active");
$(this).css('display', 'none');
$(this).removeClass("hid"); $(this).removeClass("hid");
}; };
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -632,7 +632,8 @@ ...@@ -632,7 +632,8 @@
<label class="col-lg-3 control-label lbl-top">Groups</label> <label class="col-lg-3 control-label lbl-top">Groups</label>
<div class="col-lg-9"> <div class="col-lg-9">
<select style="border-bottom: 1px solid rgb(83, 83, 83) !important;" id="select_group" data-placeholder="select group.." class="select-size-xs"> <select style="border-bottom: 1px solid rgb(83, 83, 83) !important;" id="select_group" data-placeholder="select group.." class="select-size-xs">
<option></option> <option value="Select Group"></option>
</select> </select>
</div> </div>
</div> </div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment