Esempio n. 1
0
    def process_request(self, req):
        req.perm.require('CARDS_ADMIN')

        action = req.args.get('action')

        if 'POST' == req.method:
            if action == 'add_card':
                card = self._parse_card(req)
                stack = self._parse_stack(req)
                if not Card.add(self.env, card, stack):
                    self._send_conflict(req)
                self._send_card(req, card)

            elif action == 'update_card':
                card = self._parse_card(req)
                new_stack = self._parse_stack(req)
                old_stack = self._parse_stack(req, True)
                if not Card.update(self.env, card, new_stack, old_stack):
                    self._send_conflict(req)
                self._send_card(req, card)

            elif action == 'delete_card':
                card = self._parse_card(req)
                stack = self._parse_stack(req)
                if not Card.delete_by_id(self.env, card.id, stack):
                    self._send_conflict(req)
                req.send_no_content()
        elif 'GET' == req.method:
            format = req.args.get('format')
            if format == 'json':
                stack_names = req.args.get('stack', '').split('|')
                cards = Card.select_by_stacks(self.env, stack_names)
                stacks = CardStack.select_by_names(self.env, stack_names)
                self._send_cards_and_stacks(req, cards, stacks, stack_names)
        self._send_error(req, 'Bad request', 400)
Esempio n. 2
0
    def process_request(self, req):
        req.perm.require('CARDS_ADMIN')

        action = req.args.get('action')

        if 'POST' == req.method:
            if action == 'add_card':
                card = self._parse_card(req)
                stack = self._parse_stack(req)
                if not Card.add(self.env, card, stack):
                    self._send_conflict(req)
                self._send_card(req, card)

            elif action == 'update_card':
                card = self._parse_card(req)
                new_stack = self._parse_stack(req)
                old_stack = self._parse_stack(req, True)
                if not Card.update(self.env, card, new_stack, old_stack):
                    self._send_conflict(req)
                self._send_card(req, card)

            elif action == 'delete_card':
                card = self._parse_card(req)
                stack = self._parse_stack(req)
                if not Card.delete_by_id(self.env, card.id, stack):
                    self._send_conflict(req)
                req.send_no_content()
        elif 'GET' == req.method:
            format = req.args.get('format')
            if format == 'json':
                stack_names = req.args.get('stack', '').split('|')
                cards = Card.select_by_stacks(self.env, stack_names)
                stacks = CardStack.select_by_names(self.env, stack_names)
                self._send_cards_and_stacks(req, cards, stacks, stack_names)
        self._send_error(req, 'Bad request', 400)