Commit 09f1ee33 by aagusti

perbaikan bug conflict form render

1 parent 8e3bd313
......@@ -422,6 +422,8 @@ def main(global_config, **settings):
# config.add_request_method(get_params, 'get_params', reify=True)
# config.add_request_method(get_ini_params, 'get_ini', reify=True)
config.add_request_method(get_ini, 'get_ini', reify=True)
path_dir = os.path.join(os.path.dirname(__file__),"../locale")
config.add_translation_dirs(path_dir)
config.add_static_view('static', 'opensipkd.base:static',
cache_max_age=3600)
config.add_static_view(partner_idcard_folder,
......
from datetime import datetime
from deform import ValidationFailure, Form, Button
from icecream import ic
from opensipkd.models import flush, DBSession, Menus
from pyramid_rpc.jsonrpc import JsonRpcError
......@@ -15,14 +14,21 @@ class BaseApi(object):
self.add_schema = {}
self.buttons = ()
self.data = {}
def make_response(self, resp, **kwargs):
code = kwargs.get("code")
message = kwargs.get("message")
if code: resp.update({"code":code})
if message:resp.update({"message":message})
return resp
def get_form(self, class_form, row=None, **kwargs):
bindings = kwargs.get("bindings")
validator = kwargs.get("validator")
if "action" in kwargs:
action = kwargs.get("action", "")
self.buttons = kwargs.get("buttons", self.buttons)
if "url" in kwargs:
url = kwargs.get("url", "")
else:
action = self.url
url = self.url
if validator:
schema = class_form(validator=validator)
else:
......@@ -35,7 +41,7 @@ class BaseApi(object):
if row:
schema.deserialize(row)
return Form(schema, action=action, buttons=self.buttons)
return Form(schema, url=url, buttons=self.buttons)
def validate_field(self, form):
resp = {}
......@@ -52,9 +58,9 @@ class BaseApi(object):
def get_menu_buttons(self, kode):
qry = Menus.get(kode).order_by(Menus.order_id)
if self.request.user:
qry = qry.filter_by(need_login=True)
qry = qry.filter_by(need_login=1)
else:
qry = qry.filter_by(need_login=False)
qry = qry.filter(Menus.need_login!=1)
buttons = []
for row in qry.all():
......@@ -67,7 +73,7 @@ class BaseApi(object):
continue
buttons.append(Button(row.kode, title=row.nama, type="button",
value=row.kode, icon=row.icon))
value=row.url, icon=row.icon))
return tuple(buttons)
def update_headers(self, headers):
......
Your password has been changed. Please click the following link to recover:
${url}
This link will expire in ${minutes} hour.
If you did not request this, please recover it.
......@@ -20,6 +20,7 @@ Perubahan Mendasar dari fungsi login adalah:
result object dari fungsi tersebut harus berupa class User()
"""
import os
from datetime import timedelta
from importlib import import_module
import colander
......@@ -418,15 +419,16 @@ def send_email_pending(
sending_mail(request, user, subject, body)
def regenerate_security_code(user):
def regenerate_security_code(user, hour=1.0):
hour = timedelta(float(hour) / 24.0)
age = security_code_age(user)
remain = one_hour - age
if user.security_code and age < one_hour and remain > two_minutes:
remain = hour - age
if user.security_code and age < hour and remain > two_minutes:
return remain
UserService.regenerate_security_code(user)
user.security_code_date = create_now()
DBSession.add(user)
return one_hour
return hour
@view_config(route_name='reset-password',
......
#
# Indonesian translations for PACKAGE package
# This file is distributed under the same license as the PACKAGE package.
# <aagusti@desktop-pa2epik.localdomain>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE 1.0\n"
"POT-Creation-Date: 2022-07-26 13:19+0700\n"
"PO-Revision-Date: 2022-07-26 13:24+0700\n"
"Last-Translator: <aagusti@desktop-pa2epik.localdomain>\n"
"Language-Team: Indonesian\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Lingua 4.15.0\n"
#. Default: {group_name} group has been added.
#: opensipkd/base/views/groups.py:112
msgid "group-added"
msgstr ""
#. Default: ${group_name} group profile updated
#: opensipkd/base/views/groups.py:115
msgid "group-updated"
msgstr ""
#. Default: {group_name} group has been deleted.
#: opensipkd/base/views/groups.py:138
msgid "group-deleted"
msgstr ""
#. Default: Group name ${group_name} already used by ID ${gid}
#: opensipkd/base/views/groups.py:173
msgid "group-name-already-used"
msgstr ""
#: opensipkd/base/views/register.py:57
msgid "Name"
msgstr "Nama"
#: opensipkd/base/views/register.py:61
msgid "Address"
msgstr "Alamat"
#: opensipkd/base/views/register.py:71
msgid "Mobile"
msgstr ""
#: opensipkd/base/views/register.py:75
msgid "E-mail"
msgstr ""
#: opensipkd/base/views/register.py:90
msgid "ID Number"
msgstr ""
#: opensipkd/base/views/register.py:96
msgid "ID Card"
msgstr ""
#: opensipkd/base/views/register.py:103
msgid "Captcha"
msgstr ""
#: opensipkd/base/views/register.py:108
#: opensipkd/base/views/widgets/checked_password.pt:16
msgid "Password"
msgstr ""
#. Default: ${email} berhasil ditambahkan tunggu hasil verifikasi data
#. Default: ${email} berhasil ditambahkan
#. Default: ${email} berhasil ditambahkan dan email untuk ubah kata kunci sudah
#. dikirim.
#: opensipkd/base/views/register.py:313 opensipkd/base/views/register.py:324
#: opensipkd/base/views/register.py:333 opensipkd/base/views/user.py:130
#: opensipkd/base/views/user_rpc.py:321
msgid "user-added"
msgstr ""
#: opensipkd/base/views/user.py:43
msgid "Active"
msgstr ""
#: opensipkd/base/views/user.py:44
msgid "Archived"
msgstr ""
#: opensipkd/base/views/user.py:48
msgid "Hapus"
msgstr ""
#: opensipkd/base/views/user.py:51
msgid "Tidak ada"
msgstr ""
#: opensipkd/base/views/user.py:52
msgid "Buatkan"
msgstr ""
#. Default: ${username} berhasil ditambahkan.
#: opensipkd/base/views/user.py:122
msgid "user-added-with-password"
msgstr ""
#. Default: User ${email} ID ${uid} has been deleted
#: opensipkd/base/views/user.py:192
msgid "user-deleted"
msgstr ""
#. Default: Email ${email} already used by user ID ${uid}
#. Default: Email ${email} already used by partner ID ${uid}
#: opensipkd/base/views/user.py:243 opensipkd/base/views/user_rpc.py:176
msgid "email-already-used"
msgstr ""
#: opensipkd/base/views/user.py:250
msgid "Invalid email format"
msgstr ""
#. Default: Only A-Z a-z, 0-9, and - characters are allowed
#: opensipkd/base/views/user.py:270
msgid "username-only-contain"
msgstr ""
#. Default: Only A-Z a-z or 0-9 at the start and end
#: opensipkd/base/views/user.py:276
msgid "username-first-end-alphanumeric"
msgstr ""
#. Default: Username ${username} already used by ID ${uid}
#: opensipkd/base/views/user.py:286
msgid "username-already-used"
msgstr ""
#: opensipkd/base/views/user.py:318 opensipkd/base/views/user_login.py:345
msgid "Email"
msgstr ""
#: opensipkd/base/views/user.py:320
msgid "Username"
msgstr ""
#: opensipkd/base/views/user.py:323
msgid "Group"
msgstr ""
#: opensipkd/base/views/user.py:325
msgid "API Key"
msgstr ""
#: opensipkd/base/views/user.py:338
msgid "Status"
msgstr ""
#: opensipkd/base/views/user_ext.py:16 opensipkd/base/views/user_ext.py:30
msgid "User Name"
msgstr ""
#: opensipkd/base/views/user_ext.py:17 opensipkd/base/views/user_ext.py:31
msgid "Provider"
msgstr ""
#: opensipkd/base/views/user_ext.py:18 opensipkd/base/views/user_ext.py:32
msgid "User ID"
msgstr ""
#: opensipkd/base/views/user_login.py:251
msgid "Old Password"
msgstr ""
#: opensipkd/base/views/user_login.py:275 opensipkd/base/views/__init__.py:113
msgid "Simpan"
msgstr ""
#: opensipkd/base/views/user_login.py:276
#: opensipkd/base/views/user_login.py:325
msgid "Batalkan"
msgstr ""
#: opensipkd/base/views/user_login.py:324
msgid "Buat ulang"
msgstr ""
#. Default: Enter your email address and we will send you a link to reset your
#. password.
#: opensipkd/base/views/user_login.py:346
msgid "email-reset-password"
msgstr ""
#: opensipkd/base/views/user_login.py:356
msgid "Invalid email"
msgstr ""
#: opensipkd/base/views/user_login.py:438
#: opensipkd/base/views/user_login.py:467
msgid "Reset password"
msgstr ""
#: opensipkd/base/views/user_login.py:440
msgid "Send password reset email"
msgstr ""
#: opensipkd/base/views/__init__.py:114
msgid "Batal"
msgstr ""
#. Default: Check your email for a link to reset your password. If it doesn’t
#. appear within a few minutes, check your spam folder. The reset password link
#. has been sent. Please check your email.
#: opensipkd/base/views/templates/reset-password-sent.pt:4
msgid "reset-password-link-sent"
msgstr ""
#: opensipkd/base/views/widgets/base_pbb_blok_kav_no.pt:11
#: opensipkd/base/views/widgets/base_wilayah.pt:11
msgid "Blok/Kav/No"
msgstr ""
#: opensipkd/base/views/widgets/base_pbb_blok_kav_no.pt:23
#: opensipkd/base/views/widgets/base_wilayah.pt:23
msgid "RT"
msgstr ""
#: opensipkd/base/views/widgets/base_pbb_blok_kav_no.pt:43
#: opensipkd/base/views/widgets/base_wilayah.pt:43
msgid "RW"
msgstr ""
#: opensipkd/base/views/widgets/checked_password.pt:27
msgid "Confirm Password"
msgstr ""
#: opensipkd/base/views/widgets/dateparts.pt:10
msgid "Year"
msgstr ""
#: opensipkd/base/views/widgets/dateparts.pt:19
msgid "Month"
msgstr ""
#: opensipkd/base/views/widgets/dateparts.pt:28
msgid "Day"
msgstr ""
#: opensipkd/base/views/widgets/datetimeinput.pt:9
msgid "Date"
msgstr ""
#: opensipkd/base/views/widgets/datetimeinput.pt:17
msgid "Time"
msgstr ""
#: opensipkd/base/views/widgets/form.pt:34
msgid "There was a problem with your submission"
msgstr ""
#: opensipkd/base/views/widgets/form.pt:35
msgid "Errors have been highlighted below"
msgstr ""
#: opensipkd/base/views/widgets/mapping.pt:13
#: opensipkd/base/views/widgets/mapping_accordion.pt:30
msgid "There was a problem with this section"
msgstr ""
#. Default: en
#: opensipkd/base/views/widgets/richtext.pt:30
msgid "language-code"
msgstr ""
#: opensipkd/base/views/widgets/sequence_item.pt:26
msgid "Reorder (via drag and drop)"
msgstr ""
#: opensipkd/base/views/widgets/sequence_item.pt:31
msgid "Remove"
msgstr ""
#: opensipkd/base/views/widgets/readonly/checkbox.pt:8
msgid "True"
msgstr ""
#: opensipkd/base/views/widgets/readonly/checkbox.pt:12
msgid "False"
msgstr ""
#: opensipkd/base/views/widgets/readonly/checked_password.pt:4
msgid "Password not displayed."
msgstr ""
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!