Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
D
douban-api-proxy
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
captainwong
douban-api-proxy
Commits
3764c33a
Commit
3764c33a
authored
Oct 01, 2019
by
zelazna
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add the posibility to change the username
parent
0c40e40d
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
37 additions
and
4 deletions
+37
-4
admin.py
cps/admin.py
+17
-2
user_edit.html
cps/templates/user_edit.html
+1
-1
ub.py
cps/ub.py
+1
-0
web.py
cps/web.py
+18
-1
No files found.
cps/admin.py
View file @
3764c33a
...
@@ -35,7 +35,7 @@ from flask_login import login_required, current_user, logout_user
...
@@ -35,7 +35,7 @@ from flask_login import login_required, current_user, logout_user
from
flask_babel
import
gettext
as
_
from
flask_babel
import
gettext
as
_
from
sqlalchemy
import
and_
from
sqlalchemy
import
and_
from
sqlalchemy.exc
import
IntegrityError
from
sqlalchemy.exc
import
IntegrityError
from
sqlalchemy.sql.expression
import
func
from
sqlalchemy.sql.expression
import
func
,
exists
from
werkzeug.security
import
generate_password_hash
from
werkzeug.security
import
generate_password_hash
from
.
import
constants
,
logger
,
helper
,
services
from
.
import
constants
,
logger
,
helper
,
services
...
@@ -563,7 +563,6 @@ def edit_user(user_id):
...
@@ -563,7 +563,6 @@ def edit_user(user_id):
else
:
else
:
if
"password"
in
to_save
and
to_save
[
"password"
]:
if
"password"
in
to_save
and
to_save
[
"password"
]:
content
.
password
=
generate_password_hash
(
to_save
[
"password"
])
content
.
password
=
generate_password_hash
(
to_save
[
"password"
])
anonymous
=
content
.
is_anonymous
anonymous
=
content
.
is_anonymous
content
.
role
=
constants
.
selected_roles
(
to_save
)
content
.
role
=
constants
.
selected_roles
(
to_save
)
if
anonymous
:
if
anonymous
:
...
@@ -601,6 +600,22 @@ def edit_user(user_id):
...
@@ -601,6 +600,22 @@ def edit_user(user_id):
return
render_title_template
(
"user_edit.html"
,
translations
=
translations
,
languages
=
languages
,
return
render_title_template
(
"user_edit.html"
,
translations
=
translations
,
languages
=
languages
,
new_user
=
0
,
content
=
content
,
downloads
=
downloads
,
registered_oauth
=
oauth_check
,
new_user
=
0
,
content
=
content
,
downloads
=
downloads
,
registered_oauth
=
oauth_check
,
title
=
_
(
u"Edit User
%(nick)
s"
,
nick
=
content
.
nickname
),
page
=
"edituser"
)
title
=
_
(
u"Edit User
%(nick)
s"
,
nick
=
content
.
nickname
),
page
=
"edituser"
)
if
"nickname"
in
to_save
and
to_save
[
"nickname"
]
!=
content
.
nickname
:
existing_nickname
=
ub
.
session
.
query
(
exists
()
.
where
(
ub
.
User
.
nickname
==
to_save
[
"nickname"
]))
.
scalar
()
if
not
existing_nickname
:
content
.
nickname
=
to_save
[
"nickname"
]
else
:
flash
(
_
(
u"This username is already taken."
),
category
=
"error"
)
return
render_title_template
(
"user_edit.html"
,
translations
=
translations
,
languages
=
languages
,
new_user
=
0
,
content
=
content
,
downloads
=
downloads
,
registered_oauth
=
oauth_check
,
title
=
_
(
u"Edit User
%(nick)
s"
,
nick
=
content
.
nickname
),
page
=
"edituser"
)
if
"kindle_mail"
in
to_save
and
to_save
[
"kindle_mail"
]
!=
content
.
kindle_mail
:
if
"kindle_mail"
in
to_save
and
to_save
[
"kindle_mail"
]
!=
content
.
kindle_mail
:
content
.
kindle_mail
=
to_save
[
"kindle_mail"
]
content
.
kindle_mail
=
to_save
[
"kindle_mail"
]
...
...
cps/templates/user_edit.html
View file @
3764c33a
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<div
class=
"discover"
>
<div
class=
"discover"
>
<h1>
{{title}}
</h1>
<h1>
{{title}}
</h1>
<form
role=
"form"
method=
"POST"
autocomplete=
"off"
>
<form
role=
"form"
method=
"POST"
autocomplete=
"off"
>
{% if g.user
and g.user.role_admin() and
new_user %}
{% if g.user
or g.user.role_admin() or
new_user %}
<div
class=
"form-group required"
>
<div
class=
"form-group required"
>
<label
for=
"nickname"
>
{{_('Username')}}
</label>
<label
for=
"nickname"
>
{{_('Username')}}
</label>
<input
type=
"text"
class=
"form-control"
name=
"nickname"
id=
"nickname"
value=
"{{ content.nickname if content.nickname != None }}"
autocomplete=
"off"
>
<input
type=
"text"
class=
"form-control"
name=
"nickname"
id=
"nickname"
value=
"{{ content.nickname if content.nickname != None }}"
autocomplete=
"off"
>
...
...
cps/ub.py
View file @
3764c33a
...
@@ -27,6 +27,7 @@ from flask import g
...
@@ -27,6 +27,7 @@ from flask import g
from
flask_babel
import
gettext
as
_
from
flask_babel
import
gettext
as
_
from
flask_login
import
AnonymousUserMixin
from
flask_login
import
AnonymousUserMixin
from
werkzeug.local
import
LocalProxy
from
werkzeug.local
import
LocalProxy
try
:
try
:
from
flask_dance.consumer.backend.sqla
import
OAuthConsumerMixin
from
flask_dance.consumer.backend.sqla
import
OAuthConsumerMixin
oauth_support
=
True
oauth_support
=
True
...
...
cps/web.py
View file @
3764c33a
...
@@ -38,7 +38,8 @@ from flask import render_template, request, redirect, send_from_directory, make_
...
@@ -38,7 +38,8 @@ from flask import render_template, request, redirect, send_from_directory, make_
from
flask_babel
import
gettext
as
_
from
flask_babel
import
gettext
as
_
from
flask_login
import
login_user
,
logout_user
,
login_required
,
current_user
from
flask_login
import
login_user
,
logout_user
,
login_required
,
current_user
from
sqlalchemy.exc
import
IntegrityError
from
sqlalchemy.exc
import
IntegrityError
from
sqlalchemy.sql.expression
import
text
,
func
,
true
,
false
,
not_
,
and_
from
sqlalchemy.sql.expression
import
text
,
func
,
true
,
false
,
not_
,
and_
,
\
exists
from
werkzeug.exceptions
import
default_exceptions
from
werkzeug.exceptions
import
default_exceptions
from
werkzeug.datastructures
import
Headers
from
werkzeug.datastructures
import
Headers
from
werkzeug.security
import
generate_password_hash
,
check_password_hash
from
werkzeug.security
import
generate_password_hash
,
check_password_hash
...
@@ -1252,6 +1253,22 @@ def profile():
...
@@ -1252,6 +1253,22 @@ def profile():
return
render_title_template
(
"user_edit.html"
,
content
=
current_user
,
downloads
=
downloads
,
return
render_title_template
(
"user_edit.html"
,
content
=
current_user
,
downloads
=
downloads
,
title
=
_
(
u"
%(name)
s's profile"
,
name
=
current_user
.
nickname
),
page
=
"me"
,
title
=
_
(
u"
%(name)
s's profile"
,
name
=
current_user
.
nickname
),
page
=
"me"
,
registered_oauth
=
oauth_check
,
oauth_status
=
oauth_status
)
registered_oauth
=
oauth_check
,
oauth_status
=
oauth_status
)
if
"nickname"
in
to_save
and
to_save
[
"nickname"
]
!=
current_user
.
nickname
:
existing_nickname
=
ub
.
session
.
query
(
exists
()
.
where
(
ub
.
User
.
nickname
==
to_save
[
"nickname"
]))
.
scalar
()
if
not
existing_nickname
:
current_user
.
nickname
=
to_save
[
"nickname"
]
else
:
flash
(
_
(
u"This username is already taken."
),
category
=
"error"
)
return
render_title_template
(
"user_edit.html"
,
translations
=
translations
,
languages
=
languages
,
new_user
=
0
,
content
=
current_user
,
downloads
=
downloads
,
registered_oauth
=
oauth_check
,
title
=
_
(
u"Edit User
%(nick)
s"
,
nick
=
current_user
.
nickname
),
page
=
"edituser"
)
current_user
.
email
=
to_save
[
"email"
]
current_user
.
email
=
to_save
[
"email"
]
if
"show_random"
in
to_save
and
to_save
[
"show_random"
]
==
"on"
:
if
"show_random"
in
to_save
and
to_save
[
"show_random"
]
==
"on"
:
current_user
.
random_books
=
1
current_user
.
random_books
=
1
...
...
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