42 lines
1.4 KiB
Python
42 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
|
|
#from paramecio.libraries.db.webmodel import PhangoField
|
|
from paramecio.libraries.db.corefields import IntegerField
|
|
from paramecio.libraries.db.coreforms import SelectModelForm
|
|
from paramecio.libraries.httputils import GetPostFiles
|
|
|
|
class ParentField(IntegerField):
|
|
|
|
def __init__(self, name, size=11, required=False, field_name='name'):
|
|
|
|
super().__init__(name, size, required)
|
|
|
|
#self.foreignkey=True
|
|
self.indexed=True
|
|
self.field_name=field_name
|
|
|
|
def post_register(self):
|
|
|
|
if self.model!=None:
|
|
self.change_form(SelectModelForm, [self.model, self.field_name, self.model.name_field_id, self.name])
|
|
|
|
def check(self, value):
|
|
|
|
value=super().check(value)
|
|
|
|
if self.model!=None:
|
|
if self.model.updated==True:
|
|
if self.model.name_field_id in self.model.post:
|
|
GetPostFiles.obtain_get()
|
|
|
|
model_id=GetPostFiles.get.get(self.model.name_field_id, '0')
|
|
|
|
if model_id==value:
|
|
self.error=True
|
|
self.txt_error='A field cannot be its own father'
|
|
self.required=True
|
|
value=0
|
|
return value
|
|
|
|
|
|
return value
|