Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OKU-GIS
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Muhamad
OKU-GIS
Commits
2f08a104
Commit
2f08a104
authored
Jul 11, 2021
by
reynaldi adriantama
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
user management
parent
3bf8fe59
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
846 additions
and
238 deletions
+846
-238
API/__pycache__/urls.cpython-39.pyc
API/__pycache__/urls.cpython-39.pyc
+0
-0
Application/urls.py
Application/urls.py
+0
-6
OKU/urls.py
OKU/urls.py
+5
-1
myauth/views.py
myauth/views.py
+201
-3
templates/includes/navbar.html
templates/includes/navbar.html
+1
-1
templates/layout/base.html
templates/layout/base.html
+1
-1
templates/layout/user_layout.html
templates/layout/user_layout.html
+637
-225
templates/maps/e.html
templates/maps/e.html
+1
-1
No files found.
API/__pycache__/urls.cpython-39.pyc
View file @
2f08a104
No preview for this file type
Application/urls.py
View file @
2f08a104
...
@@ -12,11 +12,5 @@ urlpatterns = [
...
@@ -12,11 +12,5 @@ urlpatterns = [
path
(
'CheckByAddress'
,
views
.
SearchLocation
.
as_view
(),
name
=
'CheckByAddress'
),
path
(
'CheckByAddress'
,
views
.
SearchLocation
.
as_view
(),
name
=
'CheckByAddress'
),
path
(
'CheckByRadius'
,
views
.
SearchRadius
.
as_view
(),
name
=
'CheckByRadius'
),
path
(
'CheckByRadius'
,
views
.
SearchRadius
.
as_view
(),
name
=
'CheckByRadius'
),
path
(
'CheckByPolygon'
,
views
.
SearchPolygon
.
as_view
(),
name
=
'CheckByPolygon'
),
path
(
'CheckByPolygon'
,
views
.
SearchPolygon
.
as_view
(),
name
=
'CheckByPolygon'
),
<<<<<<<
HEAD
# path('usermanagement', views.User.as_view(), name='User'),
=======
path
(
'editkelurahan'
,
edit
.
editkelurahan
,
name
=
'edit_kel'
),
path
(
'editkelurahan'
,
edit
.
editkelurahan
,
name
=
'edit_kel'
),
>>>>>>>
b0c9d3a5aeeba4afcaecade4a93365407e62fc2b
]
]
\ No newline at end of file
OKU/urls.py
View file @
2f08a104
...
@@ -28,5 +28,9 @@ urlpatterns = [
...
@@ -28,5 +28,9 @@ urlpatterns = [
# path('myauth/', include('myauth.urls')),
# path('myauth/', include('myauth.urls')),
path
(
'login/'
,
views
.
CustomLoginView
.
as_view
(),
name
=
'login'
),
path
(
'login/'
,
views
.
CustomLoginView
.
as_view
(),
name
=
'login'
),
path
(
'logout/'
,
views
.
CustomLogoutView
.
as_view
(),
name
=
'logout'
),
path
(
'logout/'
,
views
.
CustomLogoutView
.
as_view
(),
name
=
'logout'
),
path
(
'usermanagement/'
,
views
.
Usermanagement
.
as_view
(),
name
=
'usermanagement'
)
path
(
'usermanagement/'
,
views
.
Usermanagement
.
as_view
(),
name
=
'usermanagement'
),
path
(
'adduser/'
,
views
.
addUser
,
name
=
"adduser"
),
path
(
'getallGroups/'
,
views
.
listGroup
,
name
=
"getallGroups"
),
path
(
'switchStatus/'
,
views
.
deactivateUser
,
name
=
"switchStatus"
),
path
(
'loadUserbyId/'
,
views
.
loadUserbyId
,
name
=
"loadUserbyId"
)
]
]
myauth/views.py
View file @
2f08a104
from
decimal
import
Context
from
decimal
import
Context
from
typing
import
get_origin
from
django.db.models.expressions
import
F
from
django.http
import
response
from
django.views
import
View
,
generic
from
django.views
import
View
,
generic
from
django.shortcuts
import
render
from
django.shortcuts
import
render
from
django.contrib
import
messages
from
django.contrib.auth.views
import
LoginView
,
LogoutView
from
django.contrib.auth.views
import
LoginView
,
LogoutView
from
django.db
import
connection
as
conn
from
django.db
import
connection
as
conn
,
models
from
django.core
import
serializers
from
django.core
import
serializers
from
django.contrib.auth.models
import
User
,
Group
from
django.contrib.auth.hashers
import
make_password
from
rest_framework
import
status
from
rest_framework.decorators
import
api_view
,
renderer_classes
from
rest_framework.response
import
Response
# Create your views here.
# Create your views here.
...
@@ -26,7 +36,7 @@ class Usermanagement(generic.TemplateView):
...
@@ -26,7 +36,7 @@ class Usermanagement(generic.TemplateView):
def
get
(
self
,
request
):
def
get
(
self
,
request
):
with
conn
.
cursor
()
as
userlist_
:
with
conn
.
cursor
()
as
userlist_
:
userlist_
.
execute
(
"SELECT * from auth_user"
)
userlist_
.
execute
(
"SELECT * from auth_user
ORDER BY username ASC
"
)
allUser
=
userlist_
.
fetchall
()
allUser
=
userlist_
.
fetchall
()
...
@@ -38,7 +48,7 @@ class Usermanagement(generic.TemplateView):
...
@@ -38,7 +48,7 @@ class Usermanagement(generic.TemplateView):
"name"
:
rows
[
5
]
+
" "
+
rows
[
6
],
"name"
:
rows
[
5
]
+
" "
+
rows
[
6
],
"email"
:
rows
[
7
],
"email"
:
rows
[
7
],
"isactive"
:
rows
[
9
],
"isactive"
:
rows
[
9
],
"last
login
"
:
rows
[
2
]
"last"
:
rows
[
2
]
}
}
user_res
.
append
(
datas
)
user_res
.
append
(
datas
)
...
@@ -47,5 +57,193 @@ class Usermanagement(generic.TemplateView):
...
@@ -47,5 +57,193 @@ class Usermanagement(generic.TemplateView):
'title'
:
'user management'
,
'title'
:
'user management'
,
'data'
:
user_res
'data'
:
user_res
}
}
print
(
context
)
return
render
(
request
,
self
.
template_name
,
context
)
return
render
(
request
,
self
.
template_name
,
context
)
@
api_view
((
'POST'
,))
def
addUser
(
request
):
if
request
.
method
==
'POST'
:
usernames
=
request
.
POST
.
get
(
'username'
)
first_name
=
request
.
POST
.
get
(
'first_name'
)
last_name
=
request
.
POST
.
get
(
'last_name'
)
group
=
request
.
POST
.
get
(
'group'
)
email
=
request
.
POST
.
get
(
'email'
)
password
=
request
.
POST
.
get
(
'username'
)
iduser
=
request
.
POST
.
get
(
'id'
)
arrGroup
=
group
.
split
(
"~"
)
user
=
User
()
# user.save()
try
:
if
iduser
:
with
conn
.
cursor
()
as
cursor
:
cursor
.
execute
(
"UPDATE auth_user SET first_name = '"
+
first_name
+
"', last_name = '"
+
last_name
+
"', email = '"
+
email
+
"' WHERE id="
+
iduser
)
with
conn
.
cursor
()
as
curGroup
:
curGroup
.
execute
(
"DELETE FROM auth_user_groups WHERE user_id="
+
iduser
)
users
=
User
.
objects
.
get
(
username
=
usernames
)
for
i
in
arrGroup
:
insertgroups
=
Group
.
objects
.
get
(
name
=
i
)
insertgroups
.
user_set
.
add
(
users
)
data
=
{
"code"
:
0
,
"data"
:
"User telah diperbaharui."
,
"info"
:
"success"
}
else
:
user
=
User
.
objects
.
get
(
username
=
usernames
)
data
=
{
"code"
:
4
,
"data"
:
"username telah tersedia, silahkan coba lagi."
,
"info"
:
"failed"
}
except
User
.
DoesNotExist
:
user
.
username
=
usernames
user
.
first_name
=
first_name
user
.
last_name
=
last_name
user
.
email
=
email
user
.
password
=
make_password
(
password
)
user
.
save
()
# add user to group
userinsert
=
User
.
objects
.
get
(
username
=
usernames
)
for
i
in
arrGroup
:
insertgroups
=
Group
.
objects
.
get
(
name
=
i
)
insertgroups
.
user_set
.
add
(
userinsert
)
data
=
{
"code"
:
0
,
"info"
:
"success"
,
"data"
:
"user "
+
usernames
+
" berhasil ditambahkan"
}
# data = {'sukses':'sukses'}
return
Response
(
data
)
@
api_view
((
'POST'
,))
def
listGroup
(
request
):
if
request
.
method
==
"POST"
:
groupList
=
Group
.
objects
.
all
()
group
=
[]
for
g
in
groupList
:
group
.
append
(
g
.
name
)
if
len
(
group
)
>
0
:
data
=
{
"info"
:
"success"
,
"code"
:
0
,
"data"
:
group
}
else
:
data
=
{
"info"
:
"group tidak tersedia"
,
"code"
:
4
,
"data"
:
group
}
return
Response
(
data
)
@
api_view
((
'POST'
,))
def
deactivateUser
(
request
):
user
=
User
()
if
request
.
method
==
"POST"
:
ids
=
request
.
POST
.
get
(
'id'
)
status
=
request
.
POST
.
get
(
'stat'
)
isActive
=
loadUserStatus
(
ids
)
# print(type(status)+status)
# print(type(True))
print
(
status
==
'True'
)
if
status
==
'True'
:
sql
=
"f"
else
:
sql
=
"t"
with
conn
.
cursor
()
as
cursor
:
affected_row
=
cursor
.
execute
(
"UPDATE auth_user SET is_active = '"
+
sql
+
"' WHERE id = "
+
ids
)
print
(
"UPDATE auth_user SET is_active = '"
+
sql
+
"' WHERE id = "
+
ids
)
print
(
affected_row
)
if
affected_row
:
data
=
{
"info"
:
"success"
,
"code"
:
0
,
"data"
:
"User berhasil dinonaktifkan"
}
else
:
data
=
{
"info"
:
"success"
,
"code"
:
0
,
"data"
:
"User berhasil dinonaktifkan"
}
return
Response
(
data
)
def
loadUserStatus
(
id
):
with
conn
.
cursor
()
as
cursor
:
cursor
.
execute
(
"SELECT is_active from auth_user WHERE id="
+
id
+
""
)
resData
=
cursor
.
fetchall
()
for
i
in
resData
:
isActive
=
i
[
0
]
return
isActive
@
api_view
((
'POST'
,))
def
loadUserbyId
(
request
):
if
request
.
method
==
"POST"
:
id
=
request
.
POST
.
get
(
'id'
)
print
(
id
)
with
conn
.
cursor
()
as
cursor
:
cursor
.
execute
(
"SELECT * FROM auth_user WHERE id ="
+
id
)
result
=
cursor
.
fetchall
()
group_res
=
loadGroupById
(
id
)
user_res
=
[]
for
rows
in
result
:
datas
=
{
"id"
:
rows
[
0
],
"username"
:
rows
[
4
],
"firstname"
:
rows
[
5
],
"lastname"
:
rows
[
6
],
"email"
:
rows
[
7
],
"isactive"
:
rows
[
9
],
"last"
:
rows
[
2
],
"group"
:
group_res
}
user_res
.
append
(
datas
)
data
=
{
"info"
:
"success"
,
"code"
:
0
,
"data"
:
datas
,
}
return
Response
(
data
)
def
loadGroupById
(
iduser
):
with
conn
.
cursor
()
as
cursor
:
cursor
.
execute
(
"select ag.name from auth_group ag, auth_user_groups aug WHERE aug.user_id = "
+
iduser
+
" AND ag.id = aug.group_id"
)
result
=
cursor
.
fetchall
()
print
(
result
)
resGroup
=
[]
for
i
in
result
:
resGroup
.
append
(
i
[
0
])
print
(
resGroup
)
return
resGroup
\ No newline at end of file
templates/includes/navbar.html
View file @
2f08a104
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
<li><a
href=
"#"
><i
class=
"icon-user-plus"
></i>
My profile
</a></li>
<li><a
href=
"#"
><i
class=
"icon-user-plus"
></i>
My profile
</a></li>
<li><a
href=
"#"
><i
class=
"icon-cog5"
></i>
Account settings
</a></li>
<li><a
href=
"#"
><i
class=
"icon-cog5"
></i>
Account settings
</a></li>
<li
class=
"divider"
></li>
<li
class=
"divider"
></li>
<li><a
href=
"{% url 'logout' %}"
><i
class=
"icon-cog5"
></i>
Logout
</a></li>
</ul>
</ul>
</li>
</li>
</ul>
</ul>
...
...
templates/layout/base.html
View file @
2f08a104
...
@@ -240,7 +240,7 @@
...
@@ -240,7 +240,7 @@
{% include 'includes/navbar.html' %}
{% include 'includes/navbar.html' %}
<div
style=
"height:
605px
;"
>
<div
style=
"height:
93vh
;"
>
{% block content %}
{% block content %}
<div>
<div>
...
...
templates/layout/user_layout.html
View file @
2f08a104
This diff is collapsed.
Click to expand it.
templates/maps/e.html
View file @
2f08a104
...
@@ -124,7 +124,7 @@
...
@@ -124,7 +124,7 @@
<div
class=
"page-content"
>
<div
class=
"page-content"
>
<!-- Main sidebar -->
<!-- Main sidebar -->
<div
class=
"sidebar sidebar-main"
style=
"height:
607px
;
<div
class=
"sidebar sidebar-main"
style=
"height:
95vh
;
min-height: 607px;"
>
min-height: 607px;"
>
<div
class=
"sidebar-content"
style=
"height: 100%;"
>
<div
class=
"sidebar-content"
style=
"height: 100%;"
>
...
...
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