Added new fields: usernamefield and fix in passwordfield
This commit is contained in:
parent
9cb9978a86
commit
87bc64a673
3 changed files with 38 additions and 3 deletions
|
|
@ -254,6 +254,7 @@ class AjaxList(SimpleList):
|
|||
self.str_query_params=str_query[1]
|
||||
self.initial_num_pages=20
|
||||
self.db=db
|
||||
self.func_fields={}
|
||||
|
||||
def show(self):
|
||||
|
||||
|
|
@ -293,7 +294,10 @@ class AjaxList(SimpleList):
|
|||
with self.db.query(self.count_query, self.count_query_params) as cursor:
|
||||
total_elements=cursor.fetchone()['num_elements']
|
||||
|
||||
str_query=self.str_query+' '+order_sql+' limit %s, %s'
|
||||
str_query=self.str_query+' '+order_sql
|
||||
|
||||
if self.limit>0:
|
||||
str_query+=' limit %s, %s'
|
||||
|
||||
params=self.str_query_params
|
||||
params.append(begin_page)
|
||||
|
|
@ -301,7 +305,20 @@ class AjaxList(SimpleList):
|
|||
|
||||
with self.db.query(str_query, params) as cursor:
|
||||
for row in cursor:
|
||||
rows.append(row)
|
||||
"""
|
||||
c=len(self.arr_order_fields)
|
||||
for x in range(c, len(row)):
|
||||
key_field=list(row.keys())[x]
|
||||
#print(key_field)
|
||||
pass
|
||||
"""
|
||||
|
||||
for func_field in self.func_fields:
|
||||
if func_field in row:
|
||||
row[func_field]=self.func_fields[func_field](row[func_field])
|
||||
|
||||
rows.append(row)
|
||||
#{k:d[k] for in set(d).intersection(l)}
|
||||
|
||||
pages=Pages()
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ class PasswordField(PhangoField):
|
|||
self.protected=True
|
||||
self.name_form=PasswordForm
|
||||
self.default_value=''
|
||||
self.encrypt_password=True
|
||||
|
||||
def check(self, value):
|
||||
|
||||
|
|
@ -41,7 +42,8 @@ class PasswordField(PhangoField):
|
|||
#if crypt.METHOD_SHA512 in crypt.methods:
|
||||
|
||||
#salt=crypt.mksalt(crypt.METHOD_SHA512)
|
||||
value=crypt.crypt(value)
|
||||
if self.encrypt_password:
|
||||
value=crypt.crypt(value)
|
||||
|
||||
"""
|
||||
else:
|
||||
|
|
|
|||
16
paramecio/cromosoma/extrafields/usernamefield.py
Normal file
16
paramecio/cromosoma/extrafields/usernamefield.py
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
from paramecio.cromosoma.corefields import PhangoField
|
||||
from paramecio.cromosoma.coreforms import PasswordForm
|
||||
from hmac import compare_digest as compare_hash
|
||||
import crypt
|
||||
import re
|
||||
|
||||
class UserNameField(PhangoField):
|
||||
|
||||
def check(self, value):
|
||||
|
||||
if not re.match("^[A-Za-z0-9_-]+$", value):
|
||||
self.txt_error='Error: use only letters, numbers, underscores and dashes for this field'
|
||||
self.error=1
|
||||
value=''
|
||||
|
||||
return value
|
||||
Loading…
Add table
Add a link
Reference in a new issue