def post_login(self,userid,came_from=url('/')): """ Redirect the user to the initially requested page on successful authentication or redirect her back to the login page if login failed. """ result='' if not userid: result = "{success:false,msg:'session expired'}" return result u=User.by_user_name(to_unicode(userid)) g=Group.by_group_name(to_unicode('adminGroup')) auth=AuthorizationService() auth.user=u session['username']=u.user_name session['user_firstname']=u.firstname session['has_adv_priv']=tg.config.get(constants.ADVANCED_PRIVILEGES) session['PAGEREFRESHINTERVAL']=tg.config.get(constants.PAGEREFRESHINTERVAL) session['TASKPANEREFRESH']=tg.config.get(constants.TASKPANEREFRESH) session['userid']=userid session['auth']=auth session['edition_string']=get_edition_string() session['version']=get_version() is_admin = u.has_group(g) session['is_admin']=is_admin session.save() TopCache().delete_usercache(auth) result = "{success:true}" return result
def post_login(self,userid,came_from=url('/')): """ Redirect the user to the initially requested page on successful authentication or redirect her back to the login page if login failed. """ result='' if not userid: result = "{success:false,msg:'session expired'}" return result u=User.by_user_name(to_unicode(userid)) g=Group.by_group_name(to_unicode('adminGroup')) auth=AuthorizationService() auth.user=u session['username']=u.user_name session['user_firstname']=u.firstname session['has_adv_priv']=tg.config.get(constants.ADVANCED_PRIVILEGES) session['PAGEREFRESHINTERVAL']=tg.config.get(constants.PAGEREFRESHINTERVAL) session['TASKPANEREFRESH']=tg.config.get(constants.TASKPANEREFRESH) session['userid']=userid session['auth']=auth session['edition_string']=get_edition_string() session['version']=get_version() self.update_registerd_session() is_admin = u.has_group(g) session['is_admin']=is_admin session.save() TopCache().delete_usercache(auth) result = "{success:true}" return result
def do_work(self, runtime_context, args=None, kw=None): self.task_manager = runtime_context.pop() self.curr_instance = datetime.utcnow() args = self.params recover = resume = False visible = False if kw: resume = kw.get('resume', False) recover = kw.get('recover', False) kw = self.kw_params self.quiet = (self.get_context_param('quiet') == True) if not self.quiet and resume == False and recover == False: self.task_started() try: try: task_result_running_instance = True if not args: args = [] if not kw: kw = {} #build auth object auth = AuthorizationService() auth.email_address = "" user = User.by_user_name(self.user_name) auth.user = user if user is None: u = User.by_user_name(u'admin') auth.email_address = u.email_address logger.info("User: "******" does not exist in CMS.") raise Exception("User: "******" does not exist in CMS.") else: auth.user = user auth.user_name = user.user_name auth.email_address = user.email_address TaskUtil.set_task_context(self.task_id) if recover != True and resume != True: raw_result = self.exec_task(auth, self.context, *args, **kw) else: runn = self.get_running_instance() if runn: self.curr_instance = runn.timestamp else: task_result = self.get_task_result_instance() if isinstance(task_result.results, str): task_result.results += "can not resume task. No running instance" elif not task_result.results: task_result.results = "can not resume task. No running instance" task_result_running_instance = False if task_result_running_instance: if recover == True: raw_result = self.recover_task( auth, self.context, *args, **kw) elif resume == True: raw_result = self.resume_task( auth, self.context, *args, **kw) if task_result_running_instance: cancelled = False results = raw_result if isinstance(raw_result, dict): if raw_result.get('status') == constants.TASK_CANCELED: e = raw_result.get('msg') + "\n" + raw_result.get( 'results') transaction.abort() cancelled = True if not self.quiet: self.task_fail(e, auth, cancelled=True) elif raw_result.get('status') == Task.SUCCEEDED: results = raw_result.get('results') visible = raw_result.get('visible', False) else: #get processed results if raw_result is not None and self.processors is not None: results = [ raw_result, ] for p in self.processors: if issubclass(p, Processor): p().process_output(results) else: results = raw_result if results is None: desc_tuple = self.get_short_desc() if desc_tuple is None: results = 'Task Completed Successfully.' else: (short_desc, short_desc_params) = desc_tuple desc = (short_desc) % short_desc_params results = desc + ' Completed Successfully.' #commit changes done by exec_task transaction.commit() except Exception, e: #rollback any changes made in thread session logger.exception(to_str(e)) transaction.abort() if not self.quiet: self.task_fail(e, auth) else:
def do_work(self, runtime_context, args = None, kw = None): self.task_manager = runtime_context.pop() self.curr_instance = datetime.utcnow() args = self.params recover = resume = False visible = False if kw: resume = kw.get('resume',False) recover= kw.get('recover',False) kw = self.kw_params self.quiet = (self.get_context_param('quiet') == True) if not self.quiet and resume==False and recover==False : self.task_started() try: try: task_result_running_instance = True if not args: args = [] if not kw: kw = {} #build auth object auth = AuthorizationService() auth.email_address = "" user = User.by_user_name(self.user_name) auth.user = user if user is None: u = User.by_user_name(u'admin') auth.email_address = u.email_address logger.info("User: "******" does not exist in CMS.") raise Exception("User: "******" does not exist in CMS.") else: auth.user = user auth.user_name = user.user_name auth.email_address = user.email_address TaskUtil.set_task_context(self.task_id) if recover != True and resume != True: raw_result = self.exec_task(auth, self.context, *args, **kw) else: runn = self.get_running_instance() if runn: self.curr_instance = runn.timestamp else: task_result = self.get_task_result_instance() if isinstance(task_result.results, str): task_result.results += "can not resume task. No running instance" elif not task_result.results: task_result.results = "can not resume task. No running instance" task_result_running_instance = False if task_result_running_instance: if recover == True : raw_result = self.recover_task(auth, self.context, *args, **kw) elif resume == True: raw_result = self.resume_task(auth, self.context, *args, **kw) if task_result_running_instance: cancelled=False results = raw_result if isinstance(raw_result,dict): if raw_result.get('status')==constants.TASK_CANCELED: e=raw_result.get('msg')+"\n"+raw_result.get('results') transaction.abort() cancelled=True if not self.quiet: self.task_fail(e, auth, cancelled=True) elif raw_result.get('status')==Task.SUCCEEDED: results = raw_result.get('results') visible = raw_result.get('visible',False) else: #get processed results if raw_result is not None and self.processors is not None: results = [raw_result,] for p in self.processors: if issubclass(p, Processor): p().process_output(results) else: results = raw_result if results is None: desc_tuple = self.get_short_desc() if desc_tuple is None: results = 'Task Completed Successfully.' else: (short_desc, short_desc_params) = desc_tuple desc = (short_desc)%short_desc_params results = desc+' Completed Successfully.' #commit changes done by exec_task transaction.commit() except Exception, e: #rollback any changes made in thread session logger.exception(to_str(e)) transaction.abort() if not self.quiet: self.task_fail(e, auth) else: