Commit 1fc51a77 by aa.gusti

minor changes

1 parent 886da337
...@@ -5,7 +5,7 @@ from alembic import context ...@@ -5,7 +5,7 @@ from alembic import context
from pyramid.paster import ( from pyramid.paster import (
get_appsettings, get_appsettings,
setup_logging, setup_logging,
) )
from sqlalchemy import engine_from_config from sqlalchemy import engine_from_config
from opensipkd.base.models.meta import Base from opensipkd.base.models.meta import Base
...@@ -34,7 +34,8 @@ def run_migrations_offline(): ...@@ -34,7 +34,8 @@ def run_migrations_offline():
script output. script output.
""" """
context.configure(url=settings['sqlalchemy.url']) context.configure(url=settings['sqlalchemy.url'],
version_table='alembic_pbb_pelayanan')
with context.begin_transaction(): with context.begin_transaction():
context.run_migrations() context.run_migrations()
...@@ -52,7 +53,9 @@ def run_migrations_online(): ...@@ -52,7 +53,9 @@ def run_migrations_online():
context.configure( context.configure(
connection=connection, connection=connection,
target_metadata=target_metadata, target_metadata=target_metadata,
helpers=helpers helpers=helpers,
version_table='alembic_pbb_pelayanan',
version_table_schema='pbb'
) )
try: try:
with context.begin_transaction(): with context.begin_transaction():
......
...@@ -74,3 +74,12 @@ class Partner(Base, PartnerModel): ...@@ -74,3 +74,12 @@ class Partner(Base, PartnerModel):
@classmethod @classmethod
def query_user(cls, user): def query_user(cls, user):
return cls.query_user_id(user.id) return cls.query_user_id(user.id)
@classmethod
def query_identity(cls, ident):
row = cls.query().filter_by(kode=ident).first()
if not row:
row = cls.query().filter_by(email=ident).first()
if not row:
row = cls.query().filter_by(mobile=ident).first()
return row
...@@ -13,6 +13,7 @@ from opensipkd.tools import get_settings ...@@ -13,6 +13,7 @@ from opensipkd.tools import get_settings
from opensipkd.tools.captcha import get_captcha from opensipkd.tools.captcha import get_captcha
from ziggurat_foundations.models.services.user import UserService from ziggurat_foundations.models.services.user import UserService
from .user_group import save as save_groups from .user_group import save as save_groups
_ = TranslationStringFactory('user') _ = TranslationStringFactory('user')
...@@ -62,7 +63,6 @@ class RegEditSchema(colander.Schema): ...@@ -62,7 +63,6 @@ class RegEditSchema(colander.Schema):
kode = colander.SchemaNode( kode = colander.SchemaNode(
colander.String(), colander.String(),
widget=widget.TextInputWidget(readonly=True), widget=widget.TextInputWidget(readonly=True),
missing=colander.drop,
title="NIK", title="NIK",
oid="kode") oid="kode")
detail = NamaSchema() detail = NamaSchema()
...@@ -75,7 +75,16 @@ class RegEditSchema(colander.Schema): ...@@ -75,7 +75,16 @@ class RegEditSchema(colander.Schema):
colander.Integer(), colander.Integer(),
missing=colander.drop, missing=colander.drop,
widget=widget.HiddenWidget(readonly=True), widget=widget.HiddenWidget(readonly=True),
) )
def after_bin(self, schema, kwargs):
request = kwargs["request"]
if "kode" not in request.params:
self.kode["widget"] = widget.TextInputWidget()
if "email" in request.params:
print(self.detail)
self.detail.email["widget"] = widget.TextInputWidget(readonly=True)
self.detail.email["missing"] = colander.drop
def email_found_user(email): def email_found_user(email):
...@@ -181,13 +190,11 @@ def form_validator(form, value): ...@@ -181,13 +190,11 @@ def form_validator(form, value):
err_email() err_email()
def get_form(request, class_form, buttons=None, validator=form_validator): def get_form(request, class_form, buttons=('batal', 'simpan'),
validator=form_validator):
schema = class_form(validator=validator) schema = class_form(validator=validator)
schema = schema.bind() schema = schema.bind(request = request)
schema.request = request return Form(schema, buttons=buttons)
if buttons:
return Form(schema, buttons=buttons)
return Form(schema, buttons=('batal', 'simpan'))
def save_partner(values, row=None): def save_partner(values, row=None):
...@@ -228,12 +235,12 @@ def save_request(values, request, row=None): ...@@ -228,12 +235,12 @@ def save_request(values, request, row=None):
# if not external identity send security code # if not external identity send security code
if 'external' not in request.session or not request.session['external']: if 'external' not in request.session or not request.session['external']:
send_email_security_code( send_email_security_code(
request, user, remain, 'Welcome new user', 'email-new-user', request, user, remain, 'Welcome new user', 'email-new-user',
'email-new-user.tpl') 'email-new-user.tpl')
data = dict(email=user.email) data = dict(email=user.email)
ts = _( ts = _(
'user-added', 'user-added',
default='${email} berhasil ditambahkan dan email untuk ubah '\ default='${email} berhasil ditambahkan dan email untuk ubah ' \
'kata kunci sudah dikirim.', 'kata kunci sudah dikirim.',
mapping=data) mapping=data)
request.session.flash(ts) request.session.flash(ts)
...@@ -249,15 +256,15 @@ def save_request(values, request, row=None): ...@@ -249,15 +256,15 @@ def save_request(values, request, row=None):
row = save_partner(values, row) row = save_partner(values, row)
##Untuk SIMKEL## ##Untuk SIMKEL##
settings = get_settings() settings = get_settings()
if 'default_group'in settings: if 'default_group' in settings:
groups = settings['default_group'].split(',') groups = settings['default_group'].split(',')
for group in groups: for group in groups:
group_data = Group.query_group_name(group).first() group_data = Group.query_group_name(group).first()
if not group_data: if not group_data:
raise custom_error(-1,"Group Not Found.") raise custom_error(-1, "Group Not Found.")
data = dict(group_id = group_data.id, data = dict(group_id=group_data.id,
user_id = user.id) user_id=user.id)
save_groups(data,None) save_groups(data, None)
return row return row
...@@ -273,15 +280,16 @@ def reg_buttons(): ...@@ -273,15 +280,16 @@ def reg_buttons():
class RegistrasiAdd(BaseView): class RegistrasiAdd(BaseView):
@view_config(route_name='register', renderer='templates/register.pt') @view_config(route_name='register', renderer='templates/form_input.pt')
def view_add(self): def view_add(self):
request = self.req request = self.req
if request.user: if request.user:
partner = Partner.query_user_id(request.user.id).first() # partner = Partner.query_user_id(request.user.id).first()
if partner: # if partner:
return HTTPFound(location=request.route_url("profile", id=partner.id)) return HTTPFound(location=request.route_url("profile"))
form = get_form(request, RegSchema, reg_buttons()) form = get_form(request, RegSchema, reg_buttons())
if request.POST: if request.POST:
if 'register' in request.POST: if 'register' in request.POST:
controls = request.POST.items() controls = request.POST.items()
...@@ -295,7 +303,7 @@ class RegistrasiAdd(BaseView): ...@@ -295,7 +303,7 @@ class RegistrasiAdd(BaseView):
request.session.flash('Registrasi Sukses.') request.session.flash('Registrasi Sukses.')
if 'captcha' in request.session: if 'captcha' in request.session:
del(request.session['captcha']) del (request.session['captcha'])
return route_list(request) return route_list(request)
values = {} values = {}
...@@ -303,9 +311,10 @@ class RegistrasiAdd(BaseView): ...@@ -303,9 +311,10 @@ class RegistrasiAdd(BaseView):
values['email'] = request.user.email values['email'] = request.user.email
form.set_appstruct(values) form.set_appstruct(values)
return dict(form=form, captcha=get_captcha(request)) return dict(form=form.render(), captcha=get_captcha(request),
scripts="")
@view_config(route_name='profile', renderer='templates/register-edt.pt', @view_config(route_name='profile', renderer='templates/form_input.pt',
permission='view') permission='view')
def es_reg_edt(self): def es_reg_edt(self):
request = self.req request = self.req
...@@ -332,19 +341,18 @@ class RegistrasiAdd(BaseView): ...@@ -332,19 +341,18 @@ class RegistrasiAdd(BaseView):
values = row.to_dict() values = row.to_dict()
values['detail'] = row.to_dict() values['detail'] = row.to_dict()
else: else:
values = dict(email=request.user.email) values = dict(detail=dict(email=request.user.email))
form.set_appstruct(values) form.set_appstruct(values)
return dict(form=form) return dict(form=form.render(), scripts="")
######## ########
# Edit # # Edit #
######## ########
def query_id(request): def query_id(request):
return DBSession.query(Partner). \
return DBSession.query(Partner).\ join(User, Partner.email == User.email). \
join(User, Partner.user_id == User.id).\
filter(User.id == request.user.id) filter(User.id == request.user.id)
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!