perbaikan login oauth

1 parent bf0ef4cc
import email
import logging import logging
import colander import colander
from deform import ( from deform import (widget,)
widget, Button,
)
# from opensipkd.base import get_id_card_folder
from ..models import DBSession, Partner, PartnerFiles
# from ..models import (
# ResProvinsi, ResDati2, ResKecamatan, ResDesa)
# from opensipkd.models.common import ResCompany
from opensipkd.tools import Upload, img_exts
from pyramid.i18n import TranslationStringFactory from pyramid.i18n import TranslationStringFactory
from pyramid.view import ( from opensipkd.tools import Upload
view_config, from opensipkd.tools.buttons import btn_delete
)
from ..models import DBSession, Partner, PartnerFiles
from .. import BASE_CLASS
# from .company import company_widget
from .partner_base import PartnerSchema from .partner_base import PartnerSchema
# from .. import partner_idcard_url
from . import BaseView from . import BaseView
from .. import BASE_CLASS
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
...@@ -116,8 +106,10 @@ class Views(BaseView): ...@@ -116,8 +106,10 @@ class Views(BaseView):
self.edit_schema = EditSchema self.edit_schema = EditSchema
self.table = Partner self.table = Partner
self.list_schema = ListSchema self.list_schema = ListSchema
self.list_buttons=self.list_buttons+self.list_upload+self.list_report self.list_buttons=(btn_delete,)+self.list_buttons+self.list_upload+self.list_report
self.save_state = True self.save_state = True
self.allow_check = True
self.list_view_field = 'nama'
######## ########
# List # # List #
......
import os import os
import re import re
import colander import colander
from deform import (widget, ) from deform import (widget, )
from opensipkd.tools import create_now
from pyramid.i18n import TranslationStringFactory from pyramid.i18n import TranslationStringFactory
from pyramid.view import view_config
from sqlalchemy import (func, ) from sqlalchemy import (func, )
from ziggurat_foundations.models.services.user import UserService from ziggurat_foundations.models.services.user import UserService
from opensipkd.tools import create_now
from opensipkd.tools.buttons import btn_delete
from . import BaseView from . import BaseView
# from .company import company_widget # from .company import company_widget
...@@ -45,11 +44,13 @@ class Views(BaseView): ...@@ -45,11 +44,13 @@ class Views(BaseView):
self.table = User self.table = User
self.edit_schema = EditSchema self.edit_schema = EditSchema
self.add_schema = AddSchema self.add_schema = AddSchema
self.list_buttons = self.list_buttons + self.list_report self.list_buttons = (btn_delete,)+self.list_buttons + self.list_report
path = os.path.dirname(__file__) path = os.path.dirname(__file__)
path = os.path.dirname(path) path = os.path.dirname(path)
self.report_file = os.path.join(path, 'reports', 'users.jrxml') self.report_file = os.path.join(path, 'reports', 'users.jrxml')
self.allow_check = True
self.list_view_field = 'email'
def get_bindings(self, row=None): def get_bindings(self, row=None):
status_list = ( status_list = (
......
...@@ -197,17 +197,18 @@ def oauth2_login(request, params=None): ...@@ -197,17 +197,18 @@ def oauth2_login(request, params=None):
log.debug("Users : %s", user) log.debug("Users : %s", user)
log.debug("IdInfo : %s", id_info) log.debug("IdInfo : %s", id_info)
if id_info and not user: if id_info and not user:
# Insert ke tabel user dan external identity
values = {'email': id_info['email'], values = {'email': id_info['email'],
"user_name": id_info["email"], "user_name": id_info["email"],
"status": 1, "status": 1,
"registered_date": datetime.now()} "registered_date": datetime.now()}
user = User.get_by_identity(values.get("email")) user = User.get_by_identity(values.get("email"))
partner = Partner.query_email(values.get("email")).first() # partner = Partner.query_email(values.get("email")).first()
log.debug("User : %s", user) # log.debug("User : %s", user)
log.debug("Partner : %s", partner) # log.debug("Partner : %s", partner)
if user or partner: # if user or partner:
raise Oauth2UserExc( # raise Oauth2UserExc(
"Email sudah terdaftar silahkan login standard") # "Email sudah terdaftar silahkan login standard")
user = User() user = User()
user.from_dict(values) user.from_dict(values)
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!