Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
2 Ответы
7382 Представления

I want to create timer in odoo view which support run/pause (using button ) something like Soccer match time , min:sec format

I tried below code but it generated an error

api.one
def timer_th(self):
    timer_thread = Thread(target=self.timer)    timer_thread.start()

def timer(self):
    while self.current_time <= self.duration:
        time.sleep(1)        self.current_time += 1

it gave me AttributeError: environments error
but when I used the code without thread it works but gui wasn't responsive

Аватар
Отменить
Лучший ответ

Hi there, I think your code might need some adjusting.

Try the below code:

import threading

def timer_th(self):
    timer_thread = threading.Thread(
​target=self.timer,
​args = ()
​)
    timer_thread.start()

def timer(self):
​with self.pool.cursor() as new_cr:
​self = self.with_env(self.env(cr=new_cr))
    ​while self.current_time         ​time.sleep(1)
        ​self.current_time += 1
​new_cr.commit()

I use something like that and it works.

Good Luck



Аватар
Отменить
Лучший ответ

is this error is solved or not. I also want to set the timer for 45min.After 45mins i want to show pop up message to enter the work. Can you help  me.... Thank you.

Аватар
Отменить
Related Posts Ответы Просмотры Активность
1
февр. 24
2774
6
окт. 15
5529
2
февр. 25
1270
0
июл. 21
3423
1
нояб. 20
5085