コード例 #1
0
    def get(self, what, userid=None):
        if what == 'all':
            cfps = Cfp.all()
            cfps.filter('submission_deadline >=', datetime.date.today())
            cfps.order('submission_deadline').fetch(limit=200)
        elif what == 'submitters':
            authenticationRequired(users.get_current_user(), self)

            cfps = Cfp.all()
            cfps.filter('submission_deadline >=', datetime.date.today())
            cfps.order('submission_deadline').fetch(limit=200)
            # we can't make a query with two inequality conditions
            # so we filter in python in the pending of model redesign
            cfps = filter(lambda cfp: cfp.submitters != [], cfps)
        elif what == 'submitter':
            authenticationRequired(users.get_current_user(), self)

            cfps = Cfp.all()
            cfps.filter('submission_deadline >=', datetime.date.today())
            cfps.filter('submitters IN',
                        [users.User(userid.replace('%40', '@'))])
            cfps.order('submission_deadline').fetch(limit=200)
        else:
            self.response.set_status(404, 'Not Found')
            return

        template_file = os.path.join(os.path.dirname(__file__),
                                     'templates/cfp_atom.xml')
        self.response.headers[
            'Content-Type'] = 'application/atom+xml; charset=utf-8'
        self.response.out.write(
            template.render(template_file, {
                'APPLICATION_ID': os.environ['APPLICATION_ID'],
                'cfps': cfps
            }))
コード例 #2
0
ファイル: main.py プロジェクト: CaptainPatate/ascfpmfsrt
    def get(self, what, userid=None):
        if what == 'all':
            cfps = Cfp.all()
            cfps.filter('submission_deadline >=', datetime.date.today())
            cfps.order('submission_deadline').fetch(limit=200)
        elif what == 'submitters':
            authenticationRequired(users.get_current_user(), self)

            cfps = Cfp.all()
            cfps.filter('submission_deadline >=', datetime.date.today())
            cfps.order('submission_deadline').fetch(limit=200)
            # we can't make a query with two inequality conditions
            # so we filter in python in the pending of model redesign
            cfps = filter(lambda cfp: cfp.submitters != [], cfps)
        elif what == 'submitter':
            authenticationRequired(users.get_current_user(), self)

            cfps = Cfp.all()
            cfps.filter('submission_deadline >=', datetime.date.today())
            cfps.filter('submitters IN', [users.User(userid.replace('%40','@'))])
            cfps.order('submission_deadline').fetch(limit=200)
        else:
            self.response.set_status(404, 'Not Found')
            return      

        template_file = os.path.join(os.path.dirname(__file__), 'templates/cfp_atom.xml')
        self.response.headers['Content-Type'] = 'application/atom+xml; charset=utf-8'
        self.response.out.write(template.render(template_file, {'APPLICATION_ID':os.environ['APPLICATION_ID'],
                                                                'cfps':cfps}))
コード例 #3
0
ファイル: main.py プロジェクト: CaptainPatate/ascfpmfsrt
    def get(self, view=None):
        authenticationRequired(users.get_current_user(), self)

        cfps = Cfp.all()
        color = 'nothing'
        editable = True
        if view == 'notification':
            cfps.filter('notification_date >=', datetime.date.today() - datetime.timedelta(days=7))
            cfps.order('notification_date').fetch(limit=200)
            # we can't make a query with two inequality conditions
            # so we filter in python in the pending of model redesign
            cfps = filter(lambda cfp: cfp.submitters != [], cfps)
            color = 'notification'
        elif view == 'old':
            cfps.filter('submission_deadline <', datetime.date.today())
            cfps.order('submission_deadline')
            cfps = cfps.fetch(limit=800)
            editable = False
        else:
            cfps.filter('submission_deadline >=', datetime.date.today())
            cfps.order('submission_deadline')
            cfps = cfps.fetch(limit=200)
            color = 'deadline'

        html = os.path.join(os.path.dirname(__file__), 'templates/minimal.html')
        self.response.out.write(template.render(html, {'logout_url': users.create_logout_url("/"),
                                                       'nombre':len(cfps),'cfps':cfps,
                                                       'color':color, 'editable': editable}))
コード例 #4
0
    def get(self, view=None):
        authenticationRequired(users.get_current_user(), self)

        cfps = Cfp.all()
        color = 'nothing'
        editable = True
        if view == 'notification':
            cfps.filter('notification_date >=',
                        datetime.date.today() - datetime.timedelta(days=7))
            cfps.order('notification_date').fetch(limit=200)
            # we can't make a query with two inequality conditions
            # so we filter in python in the pending of model redesign
            cfps = filter(lambda cfp: cfp.submitters != [], cfps)
            color = 'notification'
        elif view == 'old':
            cfps.filter('submission_deadline <', datetime.date.today())
            cfps.order('submission_deadline')
            cfps = cfps.fetch(limit=800)
            editable = False
        else:
            cfps.filter('submission_deadline >=', datetime.date.today())
            cfps.order('submission_deadline')
            cfps = cfps.fetch(limit=200)
            color = 'deadline'

        html = os.path.join(os.path.dirname(__file__),
                            'templates/minimal.html')
        self.response.out.write(
            template.render(
                html, {
                    'logout_url': users.create_logout_url("/"),
                    'nombre': len(cfps),
                    'cfps': cfps,
                    'color': color,
                    'editable': editable
                }))
コード例 #5
0
    def post(self, cfpid=None):
        authenticationRequired(users.get_current_user(), self)

        if not cfpid:
            cfp = Cfp()
        else:
            cfp = db.get(cfpid)

        cfp.name = self.request.get('name')
        cfp.fullname = self.request.get('fullname')
        cfp.setWebsite(self.request.get('website'))
        cfp.category = self.request.get('category')
        cfp.begin_conf_date = self.to_datetime(
            self.request.get('begin_conf_date'))
        cfp.end_conf_date = self.to_datetime(self.request.get('end_conf_date'))
        cfp.submission_deadline = self.to_datetime(
            self.request.get('submission_deadline'))
        cfp.notification_date = self.to_datetime(
            self.request.get('notification_date'))
        cfp.country = self.request.get('country')
        cfp.city = self.request.get('city')
        cfp.keywords = self.request.get_all('keywords')
        cfp.setAcceptanceRate(self.request.get('acceptance_rate'))
        submit = self.request.get('submitters')

        user = users.get_current_user()
        if submit:
            if user not in cfp.submitters:
                cfp.submitters.append(users.User(submit))
                logging.debug('user = %s added ', cfp.submitters[0].email())
        elif user in cfp.submitters:
            cfp.submitters.remove(users.get_current_user())
            logging.debug('user = %s removed ', users.get_current_user())

        cfp.put()
        self.redirect('/')
コード例 #6
0
ファイル: main.py プロジェクト: CaptainPatate/ascfpmfsrt
    def post(self, cfpid=None):
        authenticationRequired(users.get_current_user(), self)

        if not cfpid:
            cfp = Cfp()
        else:
            cfp = db.get(cfpid)

        cfp.name = self.request.get('name')
        cfp.fullname = self.request.get('fullname')
        cfp.setWebsite(self.request.get('website'))
        cfp.category = self.request.get('category')
        cfp.begin_conf_date = self.to_datetime(self.request.get('begin_conf_date'))
        cfp.end_conf_date = self.to_datetime(self.request.get('end_conf_date'))
        cfp.submission_deadline = self.to_datetime(self.request.get('submission_deadline'))
        cfp.notification_date = self.to_datetime(self.request.get('notification_date'))
        cfp.country = self.request.get('country')
        cfp.city = self.request.get('city')
        cfp.keywords = self.request.get_all('keywords')
        cfp.setAcceptanceRate(self.request.get('acceptance_rate'))
        submit = self.request.get('submitters')

        user = users.get_current_user()
        if submit:
            if user not in cfp.submitters:
                cfp.submitters.append(users.User(submit))
                logging.debug('user = %s added ', cfp.submitters[0].email())
        elif user in cfp.submitters:
            cfp.submitters.remove(users.get_current_user())
            logging.debug('user = %s removed ', users.get_current_user())

        cfp.put()
        self.redirect('/')