ããã«ã¡ã¯ãã¿ããªã
ç§ã¯æ¬¡ã®ãããªæ°ãããã³ã¬ãŒã¿ã«ã€ããŠèããŸã
@api.groups('group_1', 'group_2', '...')
def function_name(self, args):
...
<button name='function_name' />
ãããªxmlãã¡ã€ã«ã§é¢æ°ããšã«åŒã³åºãããé¢æ°ãè£
食ããŸãã
ãã³ã¬ãŒã¿ã¯ãçŸåšã®ãŠãŒã¶ãŒãå®çŸ©ãããã°ã«ãŒãã®1ã€ã®ã¡ã³ããŒã§ãããã©ããã確èªããŸããããã§ãªãå Žåã¯ãã¢ã¯ã»ã¹ãšã©ãŒãçºçããŸãã 次ã«ãã¬ã³ããªã³ã°ãã¥ãŒã§ããŠãŒã¶ãŒãå®çŸ©ãããã°ã«ãŒãã®ã¡ã³ããŒã§ãªãå Žåããã¿ã³ã¯èªåçã«é衚瀺ã«ãªããŸã
ãã®æ°ãããã³ã¬ãŒã¿ã¯ãxml RPCã«ãã£ãŠããŠãŒã¶ãŒãé衚瀺ã®ãã¿ã³ã®é¢æ°ãåŒã³åºãããšãå¯èœã«ããã»ãã¥ãªãã£éåãä¿®æ£ããå¯èœæ§ããããŸãã
2åç®ã¯ãã¢ãã«ãç¶æ¿ããã«ã¹ã¿ã ã¢ãžã¥ãŒã«ã§ãä»ã®ãã³ã¬ãŒã¿@ api.add_groupsãŸãã¯@ api.remove_groupsãé¢æ°ãžã®ã¢ã¯ã»ã¹ãè¿œå ãŸãã¯åé€ããããšãæ³åã§ããŸãã
ãæèŠããããšãããããŸãã
ããã¯è¯ãèãã ãšæããŸããé ãããšïŒãã¿ã³ãé ãïŒã«ããã»ãã¥ãªãã£ã¯æ©èœããŸããã
åé¡ã¯ãããã©ãã«çœ®ããã§ãã api.foreach
å®è£
ãå«ãOCA Pythonã¢ãžã¥ãŒã«ãäœæããŸãããã OCAããã³ãã«å°å
¥ããåãã¯ããŸããã
ããã§ããOCAAPIã©ã€ãã©ãªãçšæããã®ã¯è¯ãèãã ãšæããŸãã @lasleyã¯ãOCAã€ã³ã¹ã¿ã³ã¹ã¿ã¹ã¯ïŒããããžã§ã¯ãã®äœæãïŒã«é 眮ãããã¡ãœããã«åŸã£ãŠãªããžããªãäœæããPRãäœæããã ãã§
ãã®æ©èœã«ã€ããŠãïŒ+ 1ïŒãè¿œå ããŸããããã³ã¬ãŒã¿add_groups
ãªã©ã¯äœ¿çšããŸããã ããã¯ç¶æ¿ã§åŠçããå¿
èŠããããŸããäžæžããããã¡ãœããã®ãã³ã¬ãŒã¿ã«æ°ããã°ã«ãŒããè¿œå ãããšããã®ã°ã«ãŒãããªã¹ãã«è¿œå ãããŸãã ã°ã«ãŒãã®åé€ã«ã€ããŠã¯ãã³ã¢ã®ãããªä»ã®ææ³ã䜿çšããå¿
èŠããããŸãïŒããšãã°ãå
ã®ã¡ãœãããåŒã³åºãã°ã«ãŒãã®å°ãªãå¥ã®ã¡ãœããïŒã
ããã«ã¡ã¯ ïŒ ãåçæé£ãããããŸãã OCAAPIã©ã€ãã©ãªLGTMã ããæ¡ ïŒ
ãã ãããã³ã¬ãŒã¿add_groupsãªã©ã¯äœ¿çšããŸãã
ããã§ããããã¯ç¢ºãã«åçŽåãããå¯èœæ§ããããŸãã
ã°ã«ãŒãã®åé€ã«ã€ããŠã¯ãã³ã¢ã®ãããªä»ã®ææ³ã䜿çšããå¿ èŠããããŸãïŒããšãã°ãå ã®ã¡ãœãããåŒã³åºãã°ã«ãŒãã®å°ãªãå¥ã®ã¡ãœããïŒã
ãã¹ãŠã®ããŒãºã«å¯Ÿå¿ã§ãããã©ããã¯ããããŸããããæ°ãããªããžããªã«å¯Ÿããç¹å®ã®PRã§èª¬æããŸãã
@lasleyã¯ãOCAã€ã³ã¹ã¿ã³ã¹ã¿ã¹ã¯ïŒããããžã§ã¯ãã®äœæãïŒã«é 眮ãããã¡ãœããã«åŸã£ãŠãªããžããªãäœæããPRãäœæããã ãã§
@lasley ãã¬ããäœæããããpingããŠãã ãã
ããã§ããOCAAPIã©ã€ãã©ãªãçšæããã®ã¯è¯ãèãã ãšæããŸãã @lasleyã¯ãOCAã€ã³ã¹ã¿ã³ã¹ã¿ã¹ã¯ïŒããããžã§ã¯ãã®äœæãïŒã«é 眮ãããã¡ãœããã«åŸã£ãŠãªããžããªãäœæããPRãäœæããã ãã§
è¯ãç¹-åœæãç§ã«ã¯ãããè¡ãæš©éããããŸããã§ããã ãã ããOCAã€ã³ã¹ã¿ã³ã¹ã§ã¯ãã®ããã»ã¹ãèŠã€ãããŸãããããå°ãæãäžããŠãæ°ãããªããžããªã§å ±åããŸãã
ããŒããããã§ããããªããžããªäœæã®ããã»ã¹ãèŠã€ãããªãã®ã§ãå ã«é²ãã§ãªããžããªãäœæããŸããããæš©éããªãããã§ãã @pedrobaeza PRãéä¿¡ã§ããããã«ã空çœã®OCA / python-ocaãªããžããªãäœæããŠ
ðãããè¡ããã³ã¬ãŒã¿ãããããšã«å¯ŸããŠã åãããšãè¡ããserver-toolsã®æ°ããããŒã«ã¢ãžã¥ãŒã«ããã€ã³ããŒãã§ãã@privileged
ãã³ã¬ãŒã¿ãäœæãããšããã¢ã€ãã¢ããããŸããã
ãããããã³ã¬ãŒã¿ãpipã©ã€ãã©ãªã®äžéšã«ããããšãåæ§ã§ãã @ api.groupsãšããååã ããæ°ã«ãªããŸãã ããã¯odooapi pythonã¢ãžã¥ãŒã«ããã®ãã®ã§ã¯ãªãã®ã§ãæ··ä¹±ããããšã¯ãããŸãããïŒ
ããã«ã¡ã¯@ NL66278 ã
åå空éã«ã€ããŠã¯ãååã@ api.groupsã§ã¯ãªã@ oca.groupsã«ãªããããè¡çªã¯çºçããªããšæããŸãã ïŒãŸãã¯åæ§ã®ãã®ïŒ
@legalsylvainç§ã¯æåã®äœ¿çšäŸã«åå¿ããŠããŸããã @oca.groups
ãããã°çŽ æŽãããã§ãããã
@legalsylvainããã¯è¯ãèãã§ãïŒ
ãã¹ãŠã®ocaããã±ãŒãžã§äœ¿çšã§ããåå空éããã±ãŒãžãšããŠãocaããä¿æããããšæããŸãã ãã®æ°ããããã±ãŒãžã«ãoca-decoratorããšããååãä»ããããšãã§ããŸãã ãã®ããã±ãŒãžã¯ãoca.decoratorãïŒãŸãã¯oca.xyzïŒãæäŸããŸã
from oca.decorator import groups
@groups(..)
def function_name():
groups
Iã¯ãäŸãã°ãããæ瀺çãªååã奜ãallowed_groups
ã
lmi
@lasleyããã¯ãæ°ãããªããžããª/ PSCã®ããã»ã¹ãæå®ãããŠããã¿ã¹ã¯ã§ãïŒ https ïŒ//odoo-community.org/web#id = 264ïŒview_type = formïŒmodel = project.taskïŒaction = 468ïŒactive_id = 2
ãããããããšãïŒ ã©ãããããããProjectããRepoãŸã§ãã¹ãŠæ€çŽ¢ããŸãããããPSCããå«ãããšã¯æããŸããã§ããã ããŒãïŒ
ãã ããOCAGitHubã«ã¯ãŸã ããã€ãã®è¿œå ã®æš©éãå¿ èŠã§ã-æ°ãããã¿ã³ã¯ãããŸããïŒ
ç§ãããªãã®åœ¹å²ãå€æŽããã®ã§ãããäžåºŠããçŽããŠãã ããã
@ lasley @ pedroãªãpython-oca
ïŒ ãã®ååã¯ç¡æå³ã§ãã Pythonããã±ãŒãžã«ã©ã®ããã«ååãä»ããäºå®ã§ããïŒ
@ lmignon-ç§ã¯ææ¡ãæ±ããŸããããããŠããã¯æé«ã®ãã®ã§ããã Pythonããã±ãŒãžãåæ§ã®ååã§ãã
ããªãã¯äœãèããŠããŸããïŒ ãã²èãããã§ãã
@lasleyç§ã®äž»ãªé¢å¿äºã¯ãã¢ããªãã£ãã¯Pythonããã±ãŒãžã®äœæãåé¿ããããšã§ãã äž»ãªç®æšãæ°ããç¹æ®ãªãã³ã¬ãŒã¿ãæäŸããããšã§ããå Žåã¯ãoca-decoratorã䜿çšããªãã§ãã ããã ååã¯ãããã±ãŒãžã§ã«ããŒãããŠããæ©èœç¯å²ãŸãã¯å¿ èŠãªãã®ã«ãã£ãŠç°ãªããŸãã å°ãªããšãååã¯æå³ã®ãããã®ã§ãªããã°ãªããŸããã IMO'python-oca 'ãåºãããŸãã
ç§ã¯oca-decorator
ãåŸæã§ãããã¢ãžã¥ãŒã«ãå°ãç°ãªãæ¹æ³ã§æ§é åããå¿
èŠããããŸãããã®å Žåããã³ã¬ãŒã¿ãåå空éã®ãããã¬ãã«ã«ããå¿
èŠããããŸãã å
ã
ãã®ããã«ããŠããããšã¯ç¢ºãã§ãããLasLabs / python-ocaïŒ1ã§oca.helpers
ã«æ»ããŸããã
ãšã«ããããã®å€æŽãè¡ãã®ã¯ç°¡åã§ããã³ãŒãã®ã³ã³ããã¹ãã§èª¬æããæ¹ããããšæããŸãã ç§ããªããžããªãäœæããã®ãèŠãŠãPRãéä¿¡ããããªãã®ææ¡ãå«ããŸã-ãã®åŸããã®ãã€ãžã£ãã¯ãããPRã®ä»£ããã«ã³ã³ããã¹ãã§è°è«ããããšãã§ããŸãã
@lasley oca
åå空éã¯ç©ºã®ãŸãŸã«ããå¿
èŠããããŸãã ããããªããšãåãåå空éã§ä»ã®pythonããã±ãŒãžãäœæã§ããªããªããŸãã
äºè§£ããŸãããåºæ¬çã«ã¯ã helpers
ããã±ãŒãžã®ååãdecorators
ããããPythonçšã®ã¹ããŒããšåŒã³ãŸããïŒ æœè±¡äŸoca-package-sub
== oca.package.sub
ããïŒã«ãã«ãç¬ãïŒããã¯ã¢ã€ãã¢ã§ãã
ã²ã©ãocapi
ãåãããŸãïŒsmile_catïŒ
ãã®ã³ãŒãã®æ§é ã«ã€ããŠè³ªåããããŸãã ïŒå€åç§ã®è³ªåã¯ç¡é¢ä¿ã§ããããããªããïŒ
åºæ¬çã«ããã®ã³ãŒããæžãã«ã¯2ã€ã®æ¹æ³ããããŸãã
AïŒåŸæ¥ã®odooã¢ãžã¥ãŒã«ïŒæ¢åãŸãã¯æ°èŠã®ãªããžããªå ïŒãä»ããŠã ã ãããããã䜿ãã«ã¯ãããã€ãæžãå¿ èŠããããŸã
from odoo.addons.my_oca_lib_in_module import my_decorator
BïŒPythonã©ã€ãã©ãªçµç±ã
çããã¯è§£æ±ºçãBãã«ã€ããŠè©±ããŠããããã§ããããã¡ãããããã¯ããã¯ãªãŒã³ãªè§£æ±ºçã§ãã
ãããäžæ¹ã§ããã®ãããªæè¡ã¯ãæ°ããoca-pythonlibã«äŸåããã¢ãžã¥ãŒã«ã䜿çšããæè¡çãªã¹ãã«ãæããªãäžéšã®ãŠãŒã¶ãŒããããã¯ããã®ã§ã¯ãªãããšå¿é
ããŠããŸãã UIãä»ããŠããŸãã¯odoo.shãä»ããŠïŒãããŠææ¥ã¯OCAã¢ããªã¹ãã¢ã§ïŒã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ããŠãã人ã®äŸã ãšæããŸãã ãã¹ãŠã®ãã¹ãã£ã³ã°ã·ã¹ãã ã§ã«ã¹ã¿ã pythonlibãç°¡åã«ã€ã³ã¹ããŒã«ã§ãããã©ããã¯ããããŸããã
äžéšã®ãŠãŒã¶ãŒãã€ã³ã¹ããŒã«ã§ããªãè¿œå ã®ã©ã€ãã©ãªã«äŸåããŠãããããäžéšã®ãŠãŒã¶ãŒãOCAã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ããå¯èœæ§ããªãå Žåã¯æ®å¿µã§ãã
åœé¢ãOCAã«ã¯ä»ã«1ã€ã®äŸãããããŸããã openupgradelibã ã³ãŒãã¯æåã¯OpenUpgradeãããžã§ã¯ãã«ãããå€éšã®python-libã«ç§»åãããŸããã ã¢ããã°ã¬ãŒãã¯æè¡çãªããšãªã®ã§ãç§ã«ãšã£ãŠã¯openupgradelibã®ãããã¯ãã€ã³ãã§ã¯ãããŸããã
ã©ãæããŸãã ïŒ
Odoo.shãpipã®äŸåé¢ä¿ãåŠçããæ¹æ³ãç¥ã£ãŠããŸããïŒ
IMOããã¯ããããã§ã¹ãã®external_depencies
ããŒãä¿®æ£ããããã®ãã®ã§ããããã䜿çšããã¢ãžã¥ãŒã«ã¯ãããããããŸãã ãã®æ°ããã©ã€ãã©ãªã䜿çšããã¢ãžã¥ãŒã«ã¯ãããšãã°ã barcodes_generator_abstract
å¿
èŠãšããbarcode
barcodes_generator_abstract
ãšäœãå€ããã¯ãªããšæããŸãã
Odoo.shïŒãŸãã¯ãã©ã³ã¹äººã®å Žåã¯Odoo.hsïŒã次ã®Runbotã§ããããšã¯èšããŸã§ããããŸããã è³ããã
ðãããç§ã®è³ããã©ãã«ãããç¥ã£ãŠ
ããã䜿çšããã¢ãžã¥ãŒã«ããããããããŸãïŒ@lasleyã«ããïŒ
確ãã«ããããããã¯ããªãç°ãªããŸãã ãã¡ãããããŒã³ãŒãçæãåŠçããã·ã¹ãã ãå¿
èŠãªå Žåã¯ãããŒã³ãŒãã©ã€ãã©ãªãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãã ã¢ã¹ã¿ãªã¹ã¯ãªã©ãåæ§ã§ãã
ããããããã¯éåžžã«éãããŠãããäžçäžã®äžéšã®ãŠãŒã¶ãŒã¯ãã€ã³ã¹ããŒã«ã§ããªããããã®æ¹æ³ãããããªãããããã®ãããªã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ããŠããªãå¯èœæ§ããããŸãã ãããã代æ¿æ段ã¯ãããŸããã ããŒã³ãŒãçæã䜿çšããã«ã¯ãããŒã³ãŒãã©ã€ãã©ãªãå¿
èŠã§ãã
ããã§ã¯éããŸãã OCAã³ãŒããœãŒã¹åæãæŽæ°ããŸããã ä»æ¥ã4182ã®ã¢ãžã¥ãŒã«ããããŸãã ïŒ2ã€ã®ãã€ã«ã¹ããŒã³ã«ååšããã¢ãžã¥ãŒã«ã¯2åã«ãŠã³ããããŸãïŒã äžæ¹ããã®4182ã¢ãžã¥ãŒã«ãã¹ãŠã§ãPythonã®äŸåé¢ä¿ã¯274åãããããŸããã ãããã£ãŠãOCAã¢ãžã¥ãŒã«ã®94ïŒ ã¯å€éšã®Pythonã©ã€ãã©ãªã«äŸåããŠããããéåžžã«ç°¡åã«ã€ã³ã¹ããŒã«ã§ããŸãã 詳现ïŒ
ææ¥ã䟿å©ãªãã³ã¬ãŒã¿ãåããåªããè¿œå ã®oca python libïŒã»ãã¥ãªãã£ã®åé¡ãä¿®æ£ããããšãããã®ã¹ã¬ããã§èª¬æããããšããŠãããã®ãªã©ïŒãããå Žåãã»ãšãã©ã®OCAã¢ãžã¥ãŒã«ã¯ãã®libã«æ®µéçã«äŸåããŸãã
OCAã®ç®çã¯ãOCAã¡ã³ããŒã®æŽ»åãä¿é²ããããšã§ãã ãããã£ãŠããã®ãããªæ±ºå®ïŒã€ã³ã¹ããŒã«ããã©ã€ãã©ãªãäœæããïŒã人ã ãOCAã¢ãžã¥ãŒã«ã䜿çšããå¯èœæ§ãæžãããŠããã®ã§ããã°ãåœé¢ã¯ãã®æ¹åã«é²ãã¹ãã§ã¯ãªããšæããŸãã æåã«ãå€å žçãªã¢ãžã¥ãŒã«ã䜿çšããŠãå°ããªoca-decoratorãªããžããªãäœæã§ã
openupgradeã³ãŒãã¯ãopenupgradeãªããžããªã«äœå¹Žãååšããæè¿@StefanRijnhartã«ãã£ãŠå€éšã©ã€ãã©ãªã«èšå®ãããŸããã ãã®å€æŽã¯å€§ããããšã§ã¯ãªãã£ããšæããŸãã
ïŒ*ïŒïŒãã¹ãã£ã³ã°ãšå±éã®ã·ã¹ãã ã¯ããæ°å¹Žã§å€§ããå€åããŸããã ïŒbzrã«ããã³ãŒãã®ååŸãgithubã«ããã³ãŒãã®ååŸããã«ãã¢ãŠããã¯ãããžãŒã®äœ¿çšãæè¿ã§ã¯pypiã®ãããã€ïŒ
@ OCA / boardããã®ç¹ã«ã€ããŠã©ãèããŠããã®ãèãããã§ãã ããã¯æè¡çãªæ±ºå®ã§ããã ãã§ãªããæŠç¥çãªæ±ºå®ã§ããããŸã
https://github.com/OCA/oca-decoratorsãå©çšå¯èœã«ãªã£ãã®ã§ããã®RFCã¯ããã«ç§»åã§ããŸãã
@ legalsylvain-ã©ã€ãã©ãªãšããŠäœæããåã«ãæåã«api.foreach
ã¢ãžã¥ãŒã«ãéä¿¡ããŸããã ãã®PRãèŠããšããªããã®æŠç¥ãæŸæ£ããã®ããããããŸãã
60ã70æåã®ã€ã³ããŒããã¹ãèæ ®ãå§ãããšãAPIã®äœ¿çšã¯ã»ãŒäžå¯èœã«ãªããåã€ã³ããŒãã®åšãã«try / exceptãé 眮ããå¿ èŠããããŸãã ããã«ãããã¢ãžã¥ãŒã«ã®æ¡çšã¯åºæ¬çã«ãŒãã«ãªããŸããã€ã³ããŒãã¯ã¬ã³ãŒãã«ãŒããããå°é£ã§ãã
èå³æ·±ãããšã«ãtry / exceptionæŠç¥ã¯ãã³ã¬ãŒã¿ã§æšãã«å€±æããŸãããããã¯ãŸã£ããå¥ã®ãããã¯ã§ãã ç¹°ãè¿ãã«ãªããŸãããOdooãexternal_dependencies
ããŒãä¿®æ£ããŠãããããšãé¡ã£ãŠããŸãã
@ dreispt-ãã®æ¢åã®ãã£ã¹ã«ãã·ã§ã³ãå¥ã®ãªããžããªã«ç§»åããè¯ãæ¹æ³ã¯ãããŸããïŒ ããã«ã¯ãæµåçã«æã¡è¶ããããã©ããããããªãç¹ããããããããŸãã
60ã70æåã®ã€ã³ããŒããã¹ãèæ ®ãå§ãããšãAPIã®äœ¿çšã¯ã»ãŒäžå¯èœã«ãªããåã€ã³ããŒãã®åšãã«è©Šè¡/äŸå€ãèšå®ããå¿ èŠããããŸãã
ãã®ãœãªã¥ãŒã·ã§ã³ã§ã®å¿ èŠæ§ãé€ããŠãtry /ãäœã§ããããç解ããŠããŸããã
oca @ foreachãã³ã¬ãŒã¿ã䜿çšããã«ã¯ãoca_apiã©ã€ãã©ãªãŸãã¯ã¢ãžã¥ãŒã«ã§å®çŸ©ããŸãã ïŒ
Libãœãªã¥ãŒã·ã§ã³ã®åœ±é¿
ãããã€ïŒ
ãããã§ã¹ããã¡ã€ã«ïŒ
'external_dependencies': {'python': ['oca_api']}
Pythonãã¡ã€ã«ïŒ
from oca_api import oca
ã¢ãžã¥ãŒã«ãœãªã¥ãŒã·ã§ã³ã®åœ±é¿
ãããã€ïŒ
ãããã§ã¹ããã¡ã€ã«ïŒ
'depends': ['oca_api'],
Pythonãã¡ã€ã«ïŒ
from odoo.addons.oca_api import oca
ãããšãç§ã¯äœããéããŸãããïŒ ã¯ãã®å Žåã¯èšæ£ããŠãã ããã
æ¬å ·ã
ãã®ãœãªã¥ãŒã·ã§ã³ã§ã®å¿ èŠæ§ãé€ããŠãtry /ãäœã§ããããç解ããŠããŸããã
try / exceptionã¯ãã³ã¢Odoo以å€ã®ãã®ãã€ã³ããŒããããšãã«å®è¡ããå¿ èŠãããããã代ããã«æ¬¡ã®äŸã«ãªããŸãã
try:
from oca_api import oca
except ImportError:...
try:
from odoo.addons.oca_api import oca
except ImportError:...
ãããããããããªãã®ã¢ãžã¥ãŒã«ã®åœåã«é¢ããŠã¯ãããã¯ç§ã®ãã®ã»ã©æªãã¯ãããŸããã
ããã®å€ãã¯ãã¢ãžã¥ãŒã«ãDBã«ã€ã³ã¹ããŒã«ãããŠããããã»ãšãã©ã®ã¢ãžã¥ãŒã«ã®ããã«ç°å¢ã«ã«ãã»ã«åãããŠããªããšããäºå®ã«é¢ä¿ããŠãããšæããŸãã ããã¯ãã¢ãžã¥ãŒã«ãæ瀺çã«ã€ã³ã¹ããŒã«ãããŠããªãç°å¢ã«æ©èœãæäŸããŠããããšãæå³ããåé¡ïŒã»ãã¥ãªãã£ãŸãã¯ãã®ä»ïŒãšèŠãªãããå¯èœæ§ããããŸãã
@lmignonã¯ã httpsïŒ //github.com/OCA/webhook/pull/3#issuecomment-336935193ã§äžèšãšåæ§ã®è°è«ãå ¬éããŸããã ãããã¯äžŠè¡ããäŒè©±ã ãšæããŸããåºæ¬çã«ããã®ãããªæ©èœã»ãããæäŸããæ¹æ³ã«æ²žéš°ããŠããŸãã
ç§ã¯å人çã«@lmignonãããã«ãããšæããŠããããããlibãšããŠæäŸããå¿
èŠããããŸãã IIRCã®ã¢ããã€ã¹ãã foreach
ãã³ã¬ãŒã¿ãã¢ãžã¥ãŒã«ãã移åããäž»ãªçç±ã§ããããŸããã
ããã«ã¡ã¯@lasleyã
ã©ããããããšãïŒ ã¢ãžã¥ãŒã«ã«äŸåé¢ä¿ãäœæããããšã§ãã¢ãžã¥ãŒã«ãååšãããšæ³å®ããã®ã«ååã ãšæããŸãããããã¹ãŠã®OCAã³ãŒããrgrepããŠãããªãã話ããŠããããšã®ãµã³ãã«ãããããèŠãŸããã ïŒreport_xlsãããã³ã³ãã¯ã¿çšã«ãããããããŸãïŒã
ã¢ãžã¥ãŒã«ãåå ã§ãã»ãã¥ãªãã£ã®åé¡ãç解ããã¹ãã«ããããŸããã ç§ã®å Žåãã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ãããŠããªãå Žåãoca_apiã®ã¢ãžã¥ãŒã«ã®ã³ãŒããåŒã³åºãã¹ãã§ã¯ãããŸããã ããããå€åç§ã¯ééã£ãŠããŸãã
ããããã
ã¢ãžã¥ãŒã«ã«äŸåé¢ä¿ãäœãããšã§ãã¢ãžã¥ãŒã«ãååšãããšæ³å®ããã®ã«ååã ãšæããŸããã
詳现ã«ã€ããŠã¯ã httpsïŒ//github.com/odoo/odoo/pull/14850ãã芧ãã ããã
ç§ã®å Žåãã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ãããŠããªãå Žåãoca_apiã®ã¢ãžã¥ãŒã«ã®ã³ãŒããåŒã³åºãã¹ãã§ã¯ãããŸããã
ããã«åé¡ããããŸãã ããã¯åœãŠã¯ãŸããŸãã-Odooã¯addons
ãã¹å
ã®ãã¹ãŠã®ã¢ãžã¥ãŒã«ãã¡ã¢ãªã«ã€ã³ããŒãããŸãã ãã®ãããäŸåé¢ä¿ãå®éã«ã€ã³ã¹ããŒã«ãããŠãããã©ããã«é¢ä¿ãªããã¢ãžã¥ãŒã«ãžã®ã€ã³ããŒãã¯ã©ã®ã¢ãžã¥ãŒã«ã§ãæåããŸãã
ããã¯Odooã®äžæ žã§ãããçŸå®çã«ã¯åé¿çã¯ãããŸããã ããããOdooSAãšåãããã«é¡§å®¢ãå ±åãã¹ãããªãçç±ã§ããããŸãã 圌ããOdoo.shã§ããã解決ã§ãããã©ããç¥ãããã®ã§ãããSaaSã§æéç匟ãæã«ããŠããã®ã§ã¯ãªãããšæããŸãã
ãã®ãã¹ãŠã®èª¬æã«æè¬ããŸãã odoo / odooïŒ14850ãåãå
¥ããããªãã®ã¯æ®å¿µã§ãã
å€éšã©ã€ãã©ãªã«äŸåããŠå€ãã®OCAã¢ãžã¥ãŒã«ãäœæãããšããããã®ã¢ãžã¥ãŒã«ã®äœ¿çšã確å®ã«å¶éããããšæããŸãã ãããããŸããã¢ãžã¥ãŒã«ã¯ç¢ºãã«è§£æ±ºçã§ã¯ãªãããã§ãã
ãããããããªãã®æŽå¯åã«æè¬ããŸãã
ãã®åé¡ãéããŸãã ïŒhttps://github.com/OCA/oca-decorators/issues/7ã«ç§»åïŒ
ãããããé¡ãããããŸãã
æãåèã«ãªãã³ã¡ã³ã
ã²ã©ã
ocapi
ãåãããŸãïŒsmile_catïŒ