def __safe_call__ (self): app_id = CTK.cfg.get_val('tmp!market!install!app!application_id') app_name = CTK.cfg.get_val('tmp!market!install!app!application_name') info = {'cherokee_version': VERSION, 'system': SystemInfo.get_info()} xmlrpc = XmlRpcServer (OWS_APPS_INSTALL, user=OWS_Login.login_user, password=OWS_Login.login_password) install_info = xmlrpc.get_install_info (app_id, info) Install_Log.log ("Waiting for the payment acknowledge…") box = CTK.Box() if install_info.get('due_payment'): set_timeout_js = "setTimeout (reload_druid, %s);" %(PAYMENT_CHECK_TIMEOUT) box += CTK.RawHTML ("<h2>%s %s</h2>"%(_('Checking out'), app_name)) box += CTK.RawHTML ('<h1>%s</h1>' %(_("Waiting for the payment acknowledge…"))) box += CTK.RawHTML (js="function reload_druid() {%s %s}" %(CTK.DruidContent__JS_to_goto (box.id, URL_INSTALL_PAY_CHECK), set_timeout_js)) box += CTK.RawHTML (js=set_timeout_js) buttons = CTK.DruidButtonsPanel() buttons += CTK.DruidButton_Close(_('Cancel')) box += buttons else: Install_Log.log ("Payment ACK!") # Invalidate 'My Library' cache MyLibrary.Invalidate_Cache() # Move on CTK.cfg['tmp!market!install!download'] = install_info['url'] box += CTK.DruidContent__JS_to_goto (box.id, URL_INSTALL_DOWNLOAD) return box.Render().toStr()
def __safe_call__ (self): app_id = CTK.cfg.get_val('tmp!market!install!app!application_id') app_name = CTK.cfg.get_val('tmp!market!install!app!application_name') info = {'cherokee_version': VERSION, 'system': SystemInfo.get_info()} cont = CTK.Box() xmlrpc = XmlRpcServer (OWS_APPS_INSTALL, user=OWS_Login.login_user, password=OWS_Login.login_password) install_info = xmlrpc.get_install_info (app_id, info) if install_info.get('error'): title = install_info['error']['error_title'] errors = install_info['error']['error_strings'] cont += CTK.RawHTML ("<h2>%s</h2>"%(_(title))) for error in errors: cont += CTK.RawHTML ("<p>%s</p>"%(_(error))) buttons = CTK.DruidButtonsPanel() buttons += CTK.DruidButton_Close(_('Close')) cont += buttons elif install_info['installable']: # Do not change this log line. It is used by the # Maintenance.py file to figure out the app name Install_Log.log ("Checking: %s, ID: %s = Installable, URL=%s" %(app_name, app_id, install_info['url'])) CTK.cfg['tmp!market!install!download'] = install_info['url'] cont += CTK.RawHTML (js = CTK.DruidContent__JS_to_goto (cont.id, URL_INSTALL_DOWNLOAD)) else: Install_Log.log ("Checking: %s, ID: %s = Must check out first" %(app_name, app_id)) cont += CTK.RawHTML ("<h2>%s %s</h2>"%(_('Checking out'), app_name)) cont += CTK.RawHTML ("<p>%s</p>" %(_(NOTE_ALL_READY_TO_BUY_1))) cont += CTK.RawHTML ("<p>%s</p>" %(_(NOTE_ALL_READY_TO_BUY_2))) checkout = CTK.Button (_("Check Out")) checkout.bind ('click', CTK.DruidContent__JS_to_goto (cont.id, URL_INSTALL_PAY_CHECK) + CTK.JS.OpenWindow('%s/order/%s' %(OWS_STATIC, app_id))) buttons = CTK.DruidButtonsPanel() buttons += CTK.DruidButton_Close(_('Cancel')) buttons += checkout cont += buttons return cont.Render().toStr()