Happy you solve your big problem

Richard

On Thu, Feb 23, 2012 at 3:37 PM, Larry G. Wapnitsky <la...@kvetsch.com>wrote:

>  found this:
>
> yes you can do this:
>
> db.mytable.myfield.default='best'
> db.mytable.myfield.writable=False # user cannot change it
> db.mytable.myfield.readable=False # user does not see it
>
> before form=crud.create(db.mytable)
>
>
> via http://osdir.com/ml/web2py/2010-08/msg01892.html
>
> working for me.
>
>
> On 2/23/2012 3:24 PM, Richard Vézina wrote:
>
> Sorry, my english is terrilble sometimes...
>
>  I just thought about an other solution :
>
>  You could have two ips table one that interact with web2py and an other
> for your other program that access ips table. Then you will have to trigger
> data synchronisation between the 2 tables.
>
>  Richard
>
> On Thu, Feb 23, 2012 at 3:16 PM, Larry G. Wapnitsky <la...@kvetsch.com>wrote:
>
>>  I apologize, but there is a bit of a language barrier here.  What you've
>> written is very confusing to me
>>
>>
>> On 2/23/2012 3:14 PM, Richard Vézina wrote:
>>
>> How your other system call you ips table? Directly at backend level? If
>> so you can't just use the proper field type to make work web2py correctly
>> and use plainfully you will have to master much more web2py and how it
>> works to make it works the way you need it to work.
>>
>>  If the orther program that use the ips table access the data in ips by
>> passing query to web2py then you can change your field type to integer and
>> let web2py do it works.
>>
>>  Richard
>>
>> On Thu, Feb 23, 2012 at 3:07 PM, Larry G. Wapnitsky <la...@kvetsch.com>wrote:
>>
>>>  I'm pretty lost in everything you've described.  I've been working with
>>> web2py for 2+ days and am slowly getting the hang of it.  If you could dumb
>>> it down a bit, that would be helpful.
>>>
>>> FYI - I can print the username using auth.user_id.username anyplace else
>>> in a web page.  I just need to submit that variable to the database when my
>>> form is properly filled out.  Nothing more, nothing less.  I know this can
>>> be done using hidden form objects in regular HTML, but I don't see how to
>>> do that with CRUD.
>>>
>>>
>>> On 2/23/2012 3:02 PM, Richard Vézina wrote:
>>>
>>> I am pretty not sure about the hack, but you can try... It is pretty
>>> dirty... And you will not be able to use represent except if you transform
>>> back you id from string to int.
>>>
>>>  Why you don't just write a simple function that you other ressource
>>> will call to get the ids under string format like this :
>>>
>>>  def id_to_string(id):
>>>     return str(id)
>>>
>>>
>>>  Richard
>>>
>>> On Thu, Feb 23, 2012 at 2:58 PM, Richard Vézina <
>>> ml.richard.vez...@gmail.com> wrote:
>>>
>>>> In that case I think you will have to build something on your side...
>>>> Maybe implement your own IS_IN_DB could be a solution... A hack could be
>>>> this :
>>>>
>>>>  db.ips.reportedby.requires=str(IS_IN_DB())
>>>>
>>>>  But I don't think you will be able to define a foreign key... You
>>>> will have to enforce your integrity check by yourself at the form level
>>>> with validator...
>>>>
>>>>  So, change your field definition for string only, no  "db.auth_user"
>>>> and by the way that was wrong model definition I didn't catch at first
>>>> read...
>>>>
>>>>  Richard
>>>>
>>>>
>>>> On Thu, Feb 23, 2012 at 2:53 PM, Larry G. Wapnitsky 
>>>> <la...@kvetsch.com>wrote:
>>>>
>>>>>  it's only one user that I need to enter into the database at a time,
>>>>> and only the username.   reportedby needs to be text due to another
>>>>> application that uses the same database.
>>>>>
>>>>>
>>>>> On 2/23/2012 2:51 PM, Richard Vézina wrote:
>>>>>
>>>>> Ok,
>>>>>
>>>>>  So you need to create a foreign key relation... So you need
>>>>> "requires="...
>>>>>
>>>>>  db.ips.reportedby.requires=IS_IN_DB(db, 'ips.id', '%(first_name)s
>>>>> %(last_name)s %(username)s %(whateverfieldname)s')
>>>>>
>>>>>  If you have only one referenced user you will have to change the
>>>>> type of reportedby to integer since the id of ips is a int. If you want to
>>>>> reference many users you will have to add something to you IS_IN_DB
>>>>> requires :
>>>>>
>>>>>  db.ips.reportedby.requires=IS_IN_DB(db, 'ips.id', '%(first_name)s
>>>>> %(last_name)s %(username)s %(whateverfieldname)s', multiple=True)
>>>>>
>>>>>  And you will have to change also the type of the field for : 
>>>>> list:reference
>>>>> type
>>>>>
>>>>>  See book chapter 6 whit keyword list:reference
>>>>>
>>>>>  Richard
>>>>>
>>>>>
>>>>> On Thu, Feb 23, 2012 at 2:43 PM, Larry G. Wapnitsky <la...@kvetsch.com
>>>>> > wrote:
>>>>>
>>>>>>  I need to have the username added to another SQL table on submission
>>>>>> of a form.
>>>>>>
>>>>>> This is some of the code:
>>>>>>
>>>>>> db.define_table('ips',
>>>>>>     Field('id', 'id'),
>>>>>>     Field('ipaddress','string', length=15, unique=True),
>>>>>>     Field('dateadded', 'datetime', default=request.now),
>>>>>>     Field('reportedby', 'string', db.auth_user,  writable=False,
>>>>>> readable=False),
>>>>>>     Field('updated', 'datetime', default=request.now),
>>>>>>     Field('attacknotes', 'text'),
>>>>>>     Field('b_or_w', 'string', length=1),
>>>>>>     migrate=False)
>>>>>>
>>>>>>
>>>>>> db.ips.ipaddress.requires = [IS_NOT_IN_DB(db, 'ips.ipaddress')]
>>>>>> db.ips.ipaddress.requires.append(IS_IPV4())
>>>>>>
>>>>>>
>>>>>> the field 'reportedby' needs to be filled in with the username taken
>>>>>> from AD for the logged in user.
>>>>>>
>>>>>>
>>>>>> On 2/23/2012 2:37 PM, Richard Vézina wrote:
>>>>>>
>>>>>> Ok, but what's is the problem... I don't understand sorry.
>>>>>>
>>>>>>  Richard
>>>>>>
>>>>>> On Thu, Feb 23, 2012 at 2:33 PM, Larry G. Wapnitsky <
>>>>>> la...@kvetsch.com> wrote:
>>>>>>
>>>>>>>  The issue is not putting the username into the web2py database, but
>>>>>>> another database that's storing information.
>>>>>>>
>>>>>>> On 2/23/2012 2:32 PM, Richard Vézina wrote:
>>>>>>>
>>>>>>> I am not sure how you connect to LDAP, but there is utilities to
>>>>>>> connect LDAP with web2py. You should read about those in the book 
>>>>>>> searching
>>>>>>> with LDAP as keyword. If you only want to import LDAP user into web2py
>>>>>>> database table, I suggest you to use the user table of the RBAC.
>>>>>>>
>>>>>>>  So then you can access those entries with CRUD, but also manage
>>>>>>> who is allow to access those sensitive informations.
>>>>>>>
>>>>>>>  Richard
>>>>>>>
>>>>>>> On Thu, Feb 23, 2012 at 2:13 PM, Larry Wapnitsky 
>>>>>>> <la...@kvetsch.com>wrote:
>>>>>>>
>>>>>>>> (newbie disclaimer :))
>>>>>>>>
>>>>>>>>  I'm logging in to my application via AD/LDAP.  I can get the
>>>>>>>> variable of the username with no issue.  What i need to do next is take
>>>>>>>> this variable and insert it into a field in a CRUD form and have it 
>>>>>>>> show in
>>>>>>>> my database.
>>>>>>>>
>>>>>>>>  Thanks,
>>>>>>>> Larry
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to