Example #1
0
 def before_edit(remainder, params, output):
     self = request.controller_state.controller
     if not getattr(self, 'allow_edit', True):
         abort(403)
     # Use my bootstrap-enabled template
     override_template(FilterCrudRestController.edit,
                       'mako:sauce.templates.crc.edit')
Example #2
0
def replace_template_hook(remainder, params, output):
    req = request._current_obj()

    try:
        dispatch_state = req._controller_state
    except:
        dispatch_state = req.controller_state

    try:
        if req.validation['exception']:
            controller = req.validation['error_handler']
        else:
            controller = dispatch_state.method
    except (AttributeError, KeyError):
        controller = dispatch_state.method

    decoration = Decoration.get_decoration(controller)

    if 'tg.locals' in req.environ:
        content_type, engine, template, exclude_names = decoration.lookup_template_engine(req.environ['tg.locals'])[:4]
    else:
        content_type, engine, template, exclude_names = decoration.lookup_template_engine(req)[:4]

    replaced_template = config._pluggable_templates_replacements.get(template)
    if replaced_template:
        override_template(decoration.controller, replaced_template)
 def value(self,*args, **kw):
     
     self.activate_code = args
     if(len(self.activate_code) > 0): 
         self.userGenCode =  model.UserGenCode.getByActivateCode(self.activate_code[0])
         self.message = "";
         
         if (self.userGenCode ):
             if ( not self.utility.convertToBool(self.userGenCode.success) ):
                 
                 if (self.utility.isActiveFromDate(self.utility.getCurrentDate() , self.userGenCode.create_date ,self.userGenCode.expire_date   ) ):
                     self.userGenCode.success = 1;
                     self.message =   LanguageObject.getdata("msg_success_activate")  
                     
                 else : 
                     self.message = LanguageObject.getdata("msg_expire_activate") 
                       
                     override_template(ActivateController.value, 'genshi:pollandsurvey.templates.register.reactivate') 
                      
             else:
                 self.message = LanguageObject.getdata("msg_already_activate")
                 
         
         else:
             self.message = LanguageObject.getdata("msg_not_found_activate")
             log.warning("Find not found activate code  %s", self.activate_code )
     else:
         #self.message = "Thank you!";
         log.warning("User income is wrong,have not activate code")
         redirect("/")
      
     
     #for key in request.environ:   print "%s --- %s"   %(  key, request.environ[key]);
      
     return dict(page='activate_success',message = self.message) 
    def index(self, id=0, ready="no", came_from=lurl("/")):

        reload(sys).setdefaultencoding("utf8")

        if not request.identity:
            login_counter = request.environ.get("repoze.who.logins", 0) + 1
            redirect("/login", params=dict(came_from=came_from, __logins=login_counter))
        userid = request.identity["repoze.who.userid"]

        log.info("preview id : " + str(id))
        log.info("ready : " + str(ready))

        self.header = ""
        self.footer = ""
        self.nextQuestion = ""
        self.template = ""
        self.questionOption = model.QuestionOption.getId(id)
        if self.questionOption:
            log.info("expire date : " + str(self.questionOption.expire_date))
            log.info("current : " + str(datetime.now()))

            if datetime.now() <= self.questionOption.expire_date:
                log.info("not expire")
            else:
                log.info("expire")

            if str(ready).lower() == "no":
                # check have welcome page
                if not self.utility.isEmpty(self.questionOption.welcome_message):
                    redirect(request.path_info + "/welcome?id=" + str(self.questionOption.id_question_option))
                else:
                    self.template = self.questionOption.theme.template
                    override_template(PreviewController.index, self.template)

            elif str(ready).lower() == "yes":
                self.header = self.questionOption.header_message
                self.footer = self.questionOption.footer_message
                self.urlName = self.utility.spritValue(request.path_info, "/")
                self.template = self.questionOption.theme.template
                if len(self.urlName) >= 1:
                    self.nextQuestion = (
                        "/" + self.urlName[0] + "/saveQuestion" + "?id=" + str(self.questionOption.id_question_option)
                    )

                if self.template is not None and len(self.template) > 0:
                    log.info("template used : %s", self.template)
                    override_template(PreviewController.index, self.template)

        # print 'idproject : ', id;
        return dict(
            page="view",
            header=self.header,
            footer=self.footer,
            action=self.nextQuestion,
            template=self.template,
            urldata=self.URL_GETDATAQUESTION.format(id),
            idproject=id,
            shownavigator=bool(self.questionOption.show_navigator),
            idresp="",
        )
Example #5
0
def replace_template_hook(remainder, params, output):
    req = request._current_obj()

    try:
        dispatch_state = req._controller_state
    except:
        dispatch_state = req.controller_state

    try:
        if req.validation['exception']:
            controller = req.validation['error_handler']
        else:
            controller = dispatch_state.method
    except (AttributeError, KeyError):
        controller = dispatch_state.method

    decoration = Decoration.get_decoration(controller)

    if 'tg.locals' in req.environ:
        content_type, engine, template, exclude_names = decoration.lookup_template_engine(
            req.environ['tg.locals'])[:4]
    else:
        content_type, engine, template, exclude_names = decoration.lookup_template_engine(
            req)[:4]

    replaced_template = config._pluggable_templates_replacements.get(template)
    if replaced_template:
        override_template(decoration.controller, replaced_template)
Example #6
0
File: base.py Project: Ayutac/SAUCE
    def before_render_get_all(remainder, params, output):
        '''Function to be hooked before get_all

        - Disables pagination
        - Replaces template with our own
        - Sets allow_* switches in tmpl_context
        '''
        # Disable pagination for get_all
        output['value_list'].page_count = 0
        #output['value_list'] = output['value_list'].original_collection
        output['value_list'] = output['value_list'].collection
        c.paginators = []

        # Use my bootstrap-enabled template
        override_template(FilterCrudRestController.get_all,
            'mako:sauce.templates.crc.get_all')

        self = request.controller_state.controller

        try:
            c.bulk_actions = self.bulk_actions()
        except:  # tgext.admin
            c.bulk_actions = u'<a href="./new" class="btn"><i class="icon-plus-sign"></i>&nbsp;New %s</a>' % self.model.__name__

        for allow in ('allow_new', 'allow_edit', 'allow_delete'):
            setattr(c, allow, getattr(self, allow, True))
 def sampleTemplate(self, id=0, **kw):
     # print id;
     if str(id) == str(2):
         # print id;
         override_template(PreviewController.sampleTemplate, "genshi:pollandsurvey.templates.view.changeTemplate")
     return dict(
         title="Foobar", mybool=False, someval="foo"
     )  # ,tg_template="pollandsurvey.templates.view.changeTemplate"
Example #8
0
File: root.py Project: smarkm/ovm
 def index(self):
     result = None
     if session.get('username') is not None:
         user = DBSession.query(User).filter_by(user_name=session.get('username')).first()
         if user is not None and user.is_cloud():
             if session['cloud_only'] == True:
                 override_template(self.index, 'genshi:stackone.templates.clouddashboard')
         
     result = self.controller_impl.index()
     return dict(result)
Example #9
0
            def _before(self, *args, **kw):
                super(self.__class__, self)._before(*args, **kw)

                tmpl_context.make_pager_args = make_pager_args

                if request.response_type not in ('application/json',):
                    default_renderer = getattr(tg_config, 'default_renderer', 'genshi')
                    for layout_template in ('get_all', 'new', 'edit'):
                        for template in config.layout.crud_templates.get(layout_template, []):
                            if template.startswith(default_renderer):
                                override_template(getattr(self, layout_template), template)
Example #10
0
            def _before(self, *args, **kw):
                super(self.__class__, self)._before(*args, **kw)

                tmpl_context.make_pager_args = make_pager_args

                if request.response_type not in ('application/json',):
                    default_renderer = AdminController._get_default_renderer()
                    for action in ('get_all', 'new', 'edit'):
                        for template in config.layout.crud_templates.get(action, []):
                            if template.startswith(default_renderer):
                                override_template(getattr(self, action), template)
Example #11
0
File: base.py Project: Ayutac/SAUCE
    def before_render_edit(remainder, params, output):
        '''Function to be hooked before edit

        - Determines whether editing is even allowed
        - Replaces template with our own
        '''
        self = request.controller_state.controller
        if not getattr(self, 'allow_edit', True):
            abort(403)
        # Use my bootstrap-enabled template
        override_template(FilterCrudRestController.edit,
            'mako:sauce.templates.crc.edit')
Example #12
0
            def _before(self, *args, **kw):
                super(self.__class__, self)._before(*args, **kw)

                tmpl_context.make_pager_args = make_pager_args

                if request.response_type not in ('application/json', ):
                    default_renderer = AdminController._get_default_renderer()
                    for action in ('get_all', 'new', 'edit'):
                        for template in config.layout.crud_templates.get(
                                action, []):
                            if template.startswith(default_renderer):
                                override_template(getattr(self, action),
                                                  template)
Example #13
0
    def page(self, help_page='', mode='normal'):
        """

        :param help_page: the mako help page file name (without the prefix page-)
        :param mode: the mode to generate. Options are "normal" or "modal"
        :return:
        """
        # FIXME - NOT REALLY SAFE BECAUSE SOME UNWANTED FILE MAY BE USED AS HELP PAGE
        if help_page:
            help_page_path = 'mako:tracim.templates.help.page-{}'.format(help_page)
            override_template(HelpController.page, help_page_path)

        return dict(mode=mode)
Example #14
0
    def index(self ,id=0,ready='no' , came_from=lurl('/')):
        reload(sys).setdefaultencoding('utf8')
        
        userid = request.identity['repoze.who.userid']
        
       
        self.header = '';
        self.footer = '';
        self.nextQuestion ='';
        self.template =''; 
        self.questionOption = model.QuestionOption.getId(id);
        
        if self.questionOption : 
            print str(ready).lower()
            if str(ready).lower() == 'no':    
                #check have welcome page
                if( not self.utility.isEmpty(self.questionOption.welcome_message) ) :
                    redirect(request.path_info + '/welcome?id='+ str(self.questionOption.id_question_option) );
                else:
                    self.template = self.questionOption.theme.template;
                    override_template(PreviewController.index, self.template) ;    
                    
            elif str(ready).lower() == 'yes':
                self.header = self.questionOption.header_message;
                self.footer = self.questionOption.footer_message;
                self.urlName = self.utility.spritValue(request.path_info,'/');
                self.template = self.questionOption.theme.template
                if(len(self.urlName) >= 1 ) :
                    self.nextQuestion = '/' + self.urlName[0] + '/saveQuestion' + '?id='+ str(self.questionOption.id_question_option);
                
                
                if(self.template is not None and len(self.template) > 0):    
                    log.info("template used : %s",  self.template );                     
                    override_template(PreviewController.index, self.template) 
        
        #kw = {'idProject': str(id)}
        #self.dataView = self.getDataPreview(came_from,**kw)

        print "self.template " + self.template            
                
        #print 'idproject : ', id;     
        return dict(page='view',header = self.header, 
                    footer = self.footer, 
                    action = self.nextQuestion,
                    template= self.template,
                    urldata = self.URL_GETDATAQUESTION.format(id) , 
                    idproject = id , 
                    shownavigator = bool(self.questionOption.show_navigator),
                    idresp = "",
                    username=""); 
Example #15
0
            def _before(self, *args, **kw):
                super(self.__class__, self)._before(*args, **kw)

                tmpl_context.make_pager_args = make_pager_args

                if request.response_type not in ('application/json', ):
                    default_renderer = getattr(tg_config, 'default_renderer',
                                               'genshi')
                    for layout_template in ('get_all', 'new', 'edit'):
                        for template in config.layout.crud_templates.get(
                                layout_template, []):
                            if template.startswith(default_renderer):
                                override_template(
                                    getattr(self, layout_template), template)
Example #16
0
    def before_get_all(remainder, params, output):
        # Disable pagination for get_all
        output['value_list'].page_count = 0
        #output['value_list'] = output['value_list'].original_collection
        output['value_list'] = output['value_list'].collection
        c.paginators = []

        # Use my bootstrap-enabled template
        override_template(FilterCrudRestController.get_all,
                          'mako:sauce.templates.crc.get_all')

        self = request.controller_state.controller

        for allow in ('allow_new', 'allow_edit', 'allow_delete'):
            setattr(c, allow, getattr(self, allow, True))
def replace_template_hook(remainder, params, output):
    req = request._current_obj()

    try:
        dispatch_state = req._controller_state
    except:
        dispatch_state = req.controller_state

    decoration = Decoration.get_decoration(dispatch_state.method)

    if 'tg.locals' in req.environ:
        content_type, engine, template, exclude_names = decoration.lookup_template_engine(req.environ['tg.locals'])[:4]
    else:
        content_type, engine, template, exclude_names = decoration.lookup_template_engine(req)[:4]

    replaced_template = config._pluggable_templates_replacements.get(template)
    if replaced_template:
        override_template(dispatch_state.method, replaced_template)
def replace_template_hook(remainder, params, output):
    req = request._current_obj()

    try:
        dispatch_state = req._controller_state
    except:
        dispatch_state = req.controller_state

    decoration = Decoration.get_decoration(dispatch_state.method)

    if 'tg.locals' in req.environ:
        content_type, engine, template, exclude_names = decoration.lookup_template_engine(
            req.environ['tg.locals'])[:4]
    else:
        content_type, engine, template, exclude_names = decoration.lookup_template_engine(
            req)[:4]

    replaced_template = config._pluggable_templates_replacements.get(template)
    if replaced_template:
        override_template(dispatch_state.method, replaced_template)
Example #19
0
    def livesocket(self, topic=None, callback=None, json=True):
        """Returns a raw Moksha live socket, for use in non-Moksha apps.

        <script> function bar(msg) { alert('bar(' + msg + ')'); } </script>
        <script type="text/javascript"
                src="http://localhost:8080/livesocket?topic=foo&callback=bar">
        </script>

        """
        data = {'topic': topic, 'callback': callback, 'json': json}
        backend = config.get('moksha.livesocket.backend', 'stomp').lower()
        if backend == 'stomp':
            override_template(self.livesocket,
                              'mako:moksha.templates.stomp_socket')
            data['stomp_host'] = config.get('stomp_host', 'localhost')
            data['stomp_port'] = config.get('stomp_port', 61613)
            data['stomp_user'] = config.get('stomp_user', 'guest')
            data['stomp_pass'] = config.get('stomp_pass', 'guest')
        elif backend == 'amqp':
            override_template(self.livesocket,
                              'mako:moksha.templates.amqp_socket')
            data['amqp_broker_host'] = config.get('amqp_broker_host',
                                                  'localhost')
            data['amqp_broker_port'] = config.get('amqp_broker_port', 5672)
            data['amqp_broker_user'] = config.get('amqp_broker_user', 'guest')
            data['amqp_broker_pass'] = config.get('amqp_broker_pass', 'guest')

        data['orbited_host'] = config.get('orbited_host', 'localhost')
        data['orbited_port'] = config.get('orbited_port', 9000)
        data['orbited_scheme'] = config.get('orbited_scheme', 'http')
        data['orbited_url'] = '%s://%s:%s' % (
            data['orbited_scheme'], data['orbited_host'], data['orbited_port'])

        environ = pylons.request.environ
        data['server'] = '%s://%s:%s%s' % (
            environ.get('wsgi.url_scheme', 'http'), environ['SERVER_NAME'],
            environ['SERVER_PORT'], environ['toscawidgets.prefix'])
        return data
Example #20
0
    def livesocket(self, topic=None, callback=None, json=True):
        """Returns a raw Moksha live socket, for use in non-Moksha apps.

        <script> function bar(msg) { alert('bar(' + msg + ')'); } </script>
        <script type="text/javascript"
                src="http://localhost:8080/livesocket?topic=foo&callback=bar">
        </script>

        """
        data = {'topic': topic, 'callback': callback, 'json': json}
        backend = config.get('moksha.livesocket.backend', 'stomp').lower()
        if backend == 'stomp':
            override_template(self.livesocket, 'mako:moksha.templates.stomp_socket')
            data['stomp_host'] = config.get('stomp_host', 'localhost')
            data['stomp_port'] = config.get('stomp_port', 61613)
            data['stomp_user'] = config.get('stomp_user', 'guest')
            data['stomp_pass'] = config.get('stomp_pass', 'guest')
        elif backend == 'amqp':
            override_template(self.livesocket, 'mako:moksha.templates.amqp_socket')
            data['amqp_broker_host'] = config.get('amqp_broker_host', 'localhost')
            data['amqp_broker_port'] = config.get('amqp_broker_port', 5672)
            data['amqp_broker_user'] = config.get('amqp_broker_user', 'guest')
            data['amqp_broker_pass'] = config.get('amqp_broker_pass', 'guest')

        data['orbited_host'] = config.get('orbited_host', 'localhost')
        data['orbited_port'] = config.get('orbited_port', 9000)
        data['orbited_scheme'] = config.get('orbited_scheme', 'http')
        data['orbited_url'] = '%s://%s:%s' % (data['orbited_scheme'],
                data['orbited_host'], data['orbited_port'])

        environ = pylons.request.environ
        data['server'] = '%s://%s:%s%s' % (environ.get('wsgi.url_scheme', 'http'),
                                            environ['SERVER_NAME'],
                                            environ['SERVER_PORT'],
                                            environ['toscawidgets.prefix'])
        return data
Example #21
0
	def get_all(self,):
		override_template(self.get_all,self.template)		
		return dict(page=self.page)
 def template_override(self, override=False):
     if override:
         override_template(self.template_override,
                           "genshi:tg.tests.overridden")
     return dict()
 def questionnaire(self,key=0,ready='no',**kw):
     reload(sys).setdefaultencoding('utf8')
     log.info("key %s , ready %s" %( key,ready) );
     print ("key %s , ready %s" %( key,ready) );
     self.header = '';
     self.footer = '';
     self.nextQuestion ='';
     self.template ='';
     self.userName='';
     
     
     self.respondents = model.Respondents.getByKey(keyGen=key);
     if self.respondents :
         
         self.urlReply = self.urlUtility.URL_REPLY.format( model.SystemEnvironment.getServerUrl() , str(self.respondents.id_question_project), str(self.respondents.id_question_option), str(self.respondents.id_voter))  ; #request.application_url
         log.info("iframe url to %s" %self.urlReply);
         
         #check finish
         self.isRedirect ,self.redirect  = self.answerQuestionService.checkFinish(respondent = self.respondents, urlUtility = self.urlUtility)
         if self.isRedirect:
             redirect(self.redirect) ;
         
         #check Expire
         self.questionOption,self.redirect = self.__checkOptionExpired(self.respondents.id_question_option);    
         
         
         if str(ready).lower() == 'no':    
             #check have welcome page
             if( not self.utility.isEmpty(self.questionOption.welcome_message) ) :
                 #redirect('/ans' + '/welcome?id='+ str(self.questionOption.id_question_option) );
                 log.info("show message welcome : ");
                 redirect( self.urlUtility.URL_WELCOME.format(key = str(key)) )#   self.URL_WELCOME_NEW.format(str(key))  );
             else:
                 log.info("show questionnaire : ");
                 self.template =  self.questionOption.theme.template;
                 override_template(AnswerQuestionController.questionnaire, self.template) ;    
                 
         elif str(ready).lower() == 'yes':
             self.header = self.questionOption.header_message;
             self.footer = self.questionOption.footer_message;
             self.urlName = self.utility.spritValue(request.path_info,'/');
             self.template =  self.questionOption.theme.template
             if(len(self.urlName) >= 1 ) :
                 self.nextQuestion = '/' + self.urlName[0] + '/saveQuestion' + '?id='+ str(self.questionOption.id_question_option);
             
             
             if(self.template is not None and len(self.template) > 0):    
                 log.info("template used : %s"   %self.template );     
                 
                 override_template(AnswerQuestionController.questionnaire, self.template) 
                 
             self.ip=request.environ.get("X_FORWARDED_FOR", request.environ["REMOTE_ADDR"]);
             self.browser = request.environ.get('HTTP_USER_AGENT');
             
         self.header = self.questionOption.header_message;
         self.footer = self.questionOption.footer_message;
         self.urlName = self.utility.spritValue(request.path_info,'/');
         self.template =  self.questionOption.theme.template 
         if self.respondents.voter:
             self.userName =  "******"%(self.respondents.voter.firstname,self.respondents.voter.lastname);            
     else:
         log.warning("find not found key %s" %str(key));
         redirect(self.urlUtility.URL_EXPIRED) ;       
     
     print "header : %s" %self.header
     return dict(page='view', header = Markdown(self.header).convert() , 
                     footer = Markdown(self.footer).convert()  , 
                     action = self.nextQuestion, template= self.template,
                     #urldata = self.URL_GETDATAQUESTION.format(self.idPublic),
                     urldata =  self.urlUtility.URL_GETDATAQUESTION.format(key=str(key)),#  self.URL_GETDATAQUESTION.format(key),  
                     idproject = self.questionOption.id_question_option ,
                     idresp = self.respondents.id_respondents,
                     username = self.userName,
                     shownavigator = bool(self.questionOption.show_navigator) ); 
Example #24
0
File: fases.py Project: gosu86/saip
 def get_all(self,proyecto_Id=''):
     tmpl_context.proyectoId = hideMe()
     override_template(self.get_all,self.template)    
     return dict(page=self.page, proyectoId=proyecto_Id)