Esempio n. 1
0
    def create(self, data, app):

        # ..
        error_data = {}
        record = dict(urlparse.parse_qsl(utils.uri_to_iri(data[0])))
        # ..
        phone = record.get('phone', None)
        if phone:
            phone = phone.replace(' ', '')
            record['phone'] = phone
            validator = validators.Phone(phone)
            validator.check('phone', error_data)

        # ..
        email = record.get('email', None)
        if email:
            validator = validators.Email(email)
            validator.check('email', error_data)
        # ..
        if error_data:
            raise errors.FormError(data=error_data)
        # ..
        cursor = app.dbpool.cursor()
        try:
            feedback = Feedback(cursor, **record)
            feedback.create()
            feedback = feedback.as_dict()
            record = {
                'feedback_id': feedback['id'],
                'feedback_firstname': feedback['firstname'],
                'feedback_lastname': feedback['lastname'],
                'feedback_midname': feedback.get('midname', ''),
                'feedback_phone': feedback.get('phone', ''),
                'feedback_email': feedback.get('email', ''),
                'feedback_comment': feedback['comment'],
                'city_id': feedback.get('city_id', ''),
                'city_name': record.get('city', ''),
                'region_id': record.get('region_id', ''),
                'region_name': record.get('region', ''),
            }
        except Exception as e:
            raise e
        app.dbpool.commit()
        # ..
        return {
            'message': 'Комментарий успешно создан',
            'record': record,
        }