*Ben Duncan*
DBA / Chief Software Architect
Mississippi State Supreme Court
Electronic Filing Division
Argg ... spoke to soon :
Errors :
web2py™ Version 2.17.2-stable+timestamp.2018.10.06.18.54.02
Python Python 2.7.13: /usr/bin/python (prefix: /opt/rh/python27/root/usr)
Traceback
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Traceback (most recent call last):
File "/data/web2py/web2py/gluon/restricted.py", line 219, in restricted
exec(ccode, environment)
File "/data/web2py/web2py/applications/Mec/controllers/default.py"
<https://10.13.70.47/admin/default/edit/Mec/controllers/default.py>,
line 205, in <module>
File "/data/web2py/web2py/gluon/globals.py", line 421, in <lambda>
self._caller = lambda f: f()
File "/data/web2py/web2py/applications/Mec/controllers/default.py"
<https://10.13.70.47/admin/default/edit/Mec/controllers/default.py>,
line 25, in user_bare
user = auth.login_bare(username, cryptpassword)
File "/data/web2py/web2py/gluon/tools.py", line 2283, in login_bare
self.login_user(user)
File "/data/web2py/web2py/gluon/authapi.py", line 739, in login_user
self.update_groups()
File "/data/web2py/web2py/gluon/authapi.py", line 503, in update_groups
table_membership.user_id == self.user.id).select()
File
"/opt/rh/python27/root/usr/lib/python2.7/site-packages/pyDAL-17.11-py2.7.egg/pydal/objects.py",
line 109, in __getattr__
raise AttributeError
AttributeError
Error snapshot [image: help]
<https://10.13.70.47/admin/default/ticket/Mec/10.13.69.144.2018-12-13.15-04-19.fd6eaf1e-d535-4d77-a405-c1054cbd0199#>
<type 'exceptions.AttributeError'>()
inspect attributes
Frames
-
*File /data/web2py/web2py/gluon/restricted.py in restricted at line 219*
code arguments variables
-
*File /data/web2py/web2py/applications/Mec/controllers/default.py in
<module> at line 205* code arguments variables
-
*File /data/web2py/web2py/gluon/globals.py in <lambda> at line 421* code
arguments variables
-
*File /data/web2py/web2py/applications/Mec/controllers/default.py in
user_bare at line 25* code arguments variables
-
*File /data/web2py/web2py/gluon/tools.py in login_bare at line 2283* code
arguments variables
-
*File /data/web2py/web2py/gluon/authapi.py in login_user at line 739*
code arguments variables
-
*File /data/web2py/web2py/gluon/authapi.py in update_groups at line 503*
code arguments variables
-
*File
/opt/rh/python27/root/usr/lib/python2.7/site-packages/pyDAL-17.11-py2.7.egg/pydal/objects.py
in __getattr__ at line 109* code arguments variables
Function argument list
(self=<Row {'ap_allowed': False, 'iv_allowed': False, ...ress_2': None,
'address_3': None, 'notes': None}>, k='id')
Code listing
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
def __getattr__(self, k):
try:
return self.__getitem__(k)
except KeyError:
raise AttributeError
def __copy__(self):
return Row(self)
Variables
builtinAttributeError <type 'exceptions.AttributeError'>
Context
locals request session response
In file: /data/web2py/web2py/applications/Mec/controllers/default.py
1.
<code object <module> at 0x7f1259ef06b0, file
"/data/web2py/web2py/applications/Mec/controllers/default.py", line
11>
On Thu, Dec 13, 2018 at 3:02 PM Ben Duncan <[email protected]> wrote:
> Ok, I seem to have it working now:
>
> My Code Snippets if anyone is interested:
>
> controllers/default.py
> def user_bare():
> alg = 'pbkdf2(1000,20,sha512)'
> custom_auth_table.password.requires = None
> username, password = request.post_vars['username'],
> request.post_vars['password']
> session.is_logged_in = "NO"
> cryptpassword =
> str(CRYPT(digest_alg=alg,salt='Mars_Salt_4u')(password)[0])
>
> user = auth.login_bare(username, cryptpassword)
>
> #if auth.is_logged_in() :
> if user :
> session.is_logged_in = "YES"
> if auth.user['company_number'] == 0:
> redirect(URL('company_choose'))
> else:
> redirect(URL('index'))
>
> return dict()
>
>
> view/default/user_bar.html
>
> {{extend 'layout.html'}}
>
> <INPUT type="button" value="HOME"
> onclick="location.href='{{=URL('index')}}'"/>
>
> <form enctype="multipart/form-data"
> action="{{=URL()}}" method="post"> <!--{{#or use =form.custom.begin}}-->
> <div class="form-group">
> <input type="text" class="form-control" name="username">
> </div>
> <div class="form-group">
> <input type="password" class="form-control" name="password">
> </div>
> <button type="submit">
> Submit
> </button>
> </form> <!--{{#or use =form.custom.end}}-->
>
>
>
> *Ben Duncan*
> DBA / Chief Software Architect
> Mississippi State Supreme Court
> Electronic Filing Division
>
>
> On Thu, Dec 13, 2018 at 2:57 PM Ben Duncan <[email protected]> wrote:
>
>> Ok, thanks, will revisit it. I was getting insert errors from it before.
>> Maybe my ignorance ...
>>
>>
>> *Ben Duncan*
>> DBA / Chief Software Architect
>> Mississippi State Supreme Court
>> Electronic Filing Division
>>
>>
>> On Thu, Dec 13, 2018 at 2:14 PM Anthony <[email protected]> wrote:
>>
>>> Got it, but I don't see login_bare/login_user/update_groups getting in
>>> the way of any of that. The update_groups method simply adds a dictionary
>>> of the user's current group ids/roles to the session, which can be used
>>> instead of doing a database lookup on each request. You are free to ignore
>>> it.
>>>
>>> Anthony
>>>
>>> On Thursday, December 13, 2018 at 11:34:05 AM UTC-5, Ben Duncan wrote:
>>>>
>>>> Thanks Anthony.
>>>>
>>>> I'm trying to maintain some reference to the auth mechanism , but our
>>>> needs get a little more convoluted.
>>>>
>>>> Some Background Info:
>>>> This is a accounting system (AR/AP/GL/IV/OE/PR/BI/BR/RMA/ ..etc) based
>>>> upon about 30 years of collected source
>>>> I have for Chancery / Circuit Clerks for Fees, Fines and restitution
>>>> and land records et.all.
>>>>
>>>> I'm trying to keep it generic as possible for the Supreme Court.
>>>>
>>>> From the Clerks view, the are elected officials for a particular
>>>> County/Jurisdiction. However, in some instances the may cover several
>>>> counties / courts (if those are small).
>>>>
>>>> Courts are grouped in "districts" and we are going to using "company
>>>> id" numbers to signify those courts within the districts and all courts
>>>> under one
>>>> umbrella for the database.
>>>>
>>>> Now the CLERKS have deputy clerks, who may OR may not be assigned to
>>>> multiple county/courts and may be limited to WHAT or what they cannot
>>>> do, but are designated by the "company" code to which court they will
>>>> have access to.
>>>> Add to that, the wants of our Office of the State Auditors our very own
>>>> AOC (Administrator of Courts and their auditors) it gets pretty
>>>> convulsed in a hurry.
>>>>
>>>> Now looking at the ACCESS CONTROL stuff, we are really a flipped
>>>> version of that - GROUP and MEMBERSHIP before and controlling the
>>>> auth_user.as well as company id in the group and membership/permission
>>>> file.signifying what court the have jurisdiction to use. (Phew).
>>>>
>>>> I hope I haven't totally confused you.
>>>>
>>>> Thanks again ...
>>>> *Ben Duncan*
>>>> DBA / Chief Software Architect
>>>> Mississippi State Supreme Court
>>>> Electronic Filing Division
>>>>
>>>>
>>>> On Thu, Dec 13, 2018 at 10:03 AM Anthony wrote:
>>>>
>>>>> On Wednesday, December 12, 2018 at 6:57:07 PM UTC-5, Ben Duncan wrote:
>>>>>>
>>>>>> Yes, I wanted to just use the auth_table.
>>>>>> Everything else is controlled outside of the normal mechs ..
>>>>>>
>>>>>
>>>>> If you don't want to use the Auth login mechanism, then I suppose you
>>>>> can write your own logic. Keep in mind you will then be responsible for
>>>>> updating the session with the appropriate auth data so Auth knows the user
>>>>> is logged in on each subsequent request. But really, I don't see why you
>>>>> would do that just to avoid having the list of group memberships
>>>>> automatically updated upon login -- what problem is that creating for you?
>>>>>
>>>>> Anthony
>>>>>
>>>>> --
>>>>> Resources:
>>>>> - http://web2py.com
>>>>> - http://web2py.com/book (Documentation)
>>>>> - http://github.com/web2py/web2py (Source code)
>>>>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>>>>> ---
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "web2py-users" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>> --
>>> Resources:
>>> - http://web2py.com
>>> - http://web2py.com/book (Documentation)
>>> - http://github.com/web2py/web2py (Source code)
>>> - https://code.google.com/p/web2py/issues/list (Report Issues)
>>> ---
>>> You received this message because you are subscribed to the Google
>>> Groups "web2py-users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to [email protected].
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.