2017-05-15 9 views
0
def generate_leave(self, cr, uid,ids, fields, context=None): 
     if context is None: 
      context = {} 
     month_split = self.browse(cr, uid,ids) 
     print "\n\n\n\n\n\n DATEE",month_split.name 
     dt = datetime.strptime(month_split.name, "%Y-%m-%d") 
     year = dt.year 
     print "\n\n\n\n YER",year 
     month = dt.month 
     print "\n\n\n MNTH",month 
     hrme=self.pool.get('acm.lev') 
     fds = hrme.search(cr,uid,[('no_of_months' ,'=', dt.month),('no_of_year' ,'=', dt.year)]) 
     print "\n\n\n\n\n TEST FDS",fds 
     if month == (dt.month + 1) % 12 or 12 : 
      raise osv.except_osv(_("Warning!"),_("Please choose months properly.")) 

正常に動作しています。
しかし、2月を選択した場合も同じエラーが表示されます。私の場合は、入力された月が現在の月よりも大きい場合にのみ発生します。
現在の月よりも小さい場合は、レイズエラーが発生しません。入力した月が今月よりも大きい場合は、エラーを発生させたい

+0

'12'は常に真であるので、' ...または12'であります常に真実。 – melpomene

+0

だから私は何をしたいのですか?今月よりも少ない月を選択している場合、警告を発するべきではありません。 – kumararaja

+0

私の質問に対する回答はありますか? – kumararaja

答えて

0

私はそれを解決しました。 まず、私たちは「現在の月」を取得したいし、我々のような「現在の月」という与えたい:

if month > datetime.now().month : 
raise osv.except_osv(_("Warning!"),_("Please choose months properly.")) 

-

関連する問題