现在的位置: 首页 > 综合 > 正文

How to constraint user processing but allow API when processing constraints are enabled

2013年07月17日 ⁄ 综合 ⁄ 共 1037字 ⁄ 字号 评论关闭

Last week, our functional guy raised a requirement, our price in sales order should only be modified by a customized interface, user are not allowed to change price. The functional guy created a processing constraint, although it can successfully prevent user from modify from front end, it also constraint the customized program, the process_order API also checks the processing constraints. This is a bad news. Fortunately, I turned on the oe's debuglog and saw a flag named UI something. My program shows it's false. So I modified the API used in processing constraint to return 1 only when the oe_globals.G_UI_FLAG is true. it worked. Later I also tried to remove this UI flag checking in processing constraint and it prevents the API too.

Basically, this can also be achieved by adding a responsibility into 'authorized responsibility' and run/schedule the API program in this responsibility.

One interesting finding today is , the oe_globals.g_ui_flag is FALSE when we do split line from screen. So this meet the requirement that users are not allowed to apply price adjustment but allowed to split lines, when splitting line, the previous price adjustments are automatically applied since our modifier's automatic_flag is 'Y'

抱歉!评论已关闭.