7 Commits

Author SHA1 Message Date
0d52c5902c Merge pull request #5 from cookiecutter-openedx/version-bump
Add changelog and bump pyproject version
2024-02-01 13:28:38 -05:00
4f9837cc75 update date 2024-02-01 18:28:28 +00:00
b8d958f8b5 Add changelog and bump pyproject version 2024-02-01 18:27:55 +00:00
43a971c1ef Merge pull request #4 from Medality-Health/update-user-on-login
Add property to control user updates on login
2024-02-01 13:10:21 -05:00
da8dafb627 add property to control user updates 2024-01-25 21:00:16 +00:00
caf3ff79a3 synch pyproject.toml requirements 2023-08-12 13:49:30 -06:00
dc86f9b504 add funding links 2023-04-28 14:14:32 -06:00
5 changed files with 39 additions and 24 deletions

4
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,4 @@
# These are supported funding model platforms
github: lpm0073
patreon: lpm0073

View File

@ -1,5 +1,13 @@
# CHANGE LOG # CHANGE LOG
## Version 1.0.8 (2024-02-01)
- add support for UPDATE_USER_ON_LOGIN flag
## Version 1.0.7 (2023-08-12)
- match version requirements in pyproject.toml to those in requirements/stable-psa.txt
## Version 1.0.6 (2022-12-20) ## Version 1.0.6 (2022-12-20)
- standardize usage of python3 in Makefile - standardize usage of python3 in Makefile

View File

@ -1 +1 @@
__version__ = "1.0.6" __version__ = "1.0.8"

View File

@ -110,6 +110,9 @@ class WPOpenEdxOAuth2(BaseOAuth2):
# changed to a list. example 'basic, email, profile'. This # changed to a list. example 'basic, email, profile'. This
# list can be delimited with commas, spaces, whatever. # list can be delimited with commas, spaces, whatever.
SCOPE_SEPARATOR = " " SCOPE_SEPARATOR = " "
# Enable updates on the Django user object on successful WordPress login.
UPDATE_USER_ON_LOGIN = True
# private utility function. not part of psa. # private utility function. not part of psa.
def _urlopen(self, url): def _urlopen(self, url):
@ -409,28 +412,28 @@ class WPOpenEdxOAuth2(BaseOAuth2):
except User.DoesNotExist: except User.DoesNotExist:
return self.user_details return self.user_details
if (user.is_superuser != self.user_details["is_superuser"]) or ( if self.UPDATE_USER_ON_LOGIN:
user.is_staff != self.user_details["is_staff"] if (user.is_superuser != self.user_details["is_superuser"]) or (
): user.is_staff != self.user_details["is_staff"]
user.is_superuser = self.user_details["is_superuser"] ):
user.is_staff = self.user_details["is_staff"] user.is_superuser = self.user_details["is_superuser"]
user.save() user.is_staff = self.user_details["is_staff"]
logger.info( user.save()
"Updated the is_superuser/is_staff flags for user {username}".format( logger.info(
username=user.username "Updated the is_superuser/is_staff flags for user {username}".format(
username=user.username
)
) )
) if (user.first_name != self.user_details["first_name"]) or (
user.last_name != self.user_details["last_name"]
if (user.first_name != self.user_details["first_name"]) or ( ):
user.last_name != self.user_details["last_name"] user.first_name = self.user_details["first_name"]
): user.last_name = self.user_details["last_name"]
user.first_name = self.user_details["first_name"] user.save()
user.last_name = self.user_details["last_name"] logger.info(
user.save() "Updated first_name/last_name for user {username}".format(
logger.info( username=user.username
"Updated first_name/last_name for user {username}".format( )
username=user.username
) )
)
return self.user_details return self.user_details

View File

@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta:__legacy__"
[project] [project]
name = "edx-oauth2-wordpress-backend" name = "edx-oauth2-wordpress-backend"
version = "1.0.6" version = "1.0.8"
authors = [ authors = [
{ name="Lawrence McDaniel", email="lpm0073@gmail.com" }, { name="Lawrence McDaniel", email="lpm0073@gmail.com" },
] ]
@ -17,7 +17,7 @@ classifiers = [
"Operating System :: OS Independent", "Operating System :: OS Independent",
] ]
dependencies = [ dependencies = [
"social-auth-core>=4.2.0", "social-auth-core==4.3.0",
"social-auth-app-django==5.0.0" "social-auth-app-django==5.0.0"
] ]
keywords = ["Open edX", "oauth", "Wordpress"] keywords = ["Open edX", "oauth", "Wordpress"]