On Feb 24, 6:38 pm, Anthony <abasta...@gmail.com> wrote:
> On Friday, February 24, 2012 12:24:03 PM UTC-5, JaapP wrote:
>
> > Hi Wikus,
>
> > Thanks a lot!
> > Adding a db.commit() after an insert causes the database to be updated.
>
> The db.commit() shouldn't be needed. Can you show some code?
>
> Anthony

This is an extract of the code that's working now thanks to the
db.commit() :

Controller:

from applications.Charon.modules.toolbox import *

@auth.requires_login()
def verbinden():
    deviceservice = db.deviceservices(request.args(0))
    ipaddress = deviceservice.ipaddress
    query = db((db.deviceservices.id == request.args(0))\
                 & (db.deviceservices.client_id == db.clients.id)\
                 & (db.deviceservices.servicetype_id == db.services.id)
\
                 ).select().first()
    protocol = query.services.type
    klantnummer = query.clients.number
    verbinding =
SmartFindConnection(klantnummer=klantnummer,db=db,deviceservice=deviceservice,request_user=auth.user_id)
...
...
...


modules/toolbox.py:

class SmartFindConnection(object):

    def __init__(self,klantnummer,db,deviceservice,request_user):

        self._pdcred = db( (db.deviceservices.devicename ==
'KJHLKJHLH')&
                 (db.clients.name == 'IUYIUYI')
                ).select(db.deviceservices.ALL).first()
        self.request_user = request_user

        self.pd_user =
TempUser(self._pdcred.ipaddress,self._pdcred.port,'root',self._pdcred.rootpassword)
 
self.pd_user.useradd()
# tijdelijke proxydoei gebruiker aanmaken
        self._log_session(db=db,deviceservice=self._pdcred)
        self._klant = db((db.deviceservices.client_id==db.clients.id)&
                         (db.clients.number==klantnummer)&
                         (db.services.type=='SSH')&
                         (db.deviceservices.devicename.like('%V01%'))
                        ).select(db.deviceservices.ALL).first()
...
...
...

    def _log_session(self,db,deviceservice):
        db.sessions.insert( client_id = deviceservice.client_id,
                            user_id = self.request_user,
                            deviceservice_id=deviceservice.id,
                            state='Active',
                            username=self.pd_user.temp_username,
                            creation_date=datetime.datetime.now() )
        db.commit()
...
...
...

Reply via email to