Exemple #1
0
 def _edit_enterprise_impl(self):
     enterprise_id = self.request.matchdict.get('enterprise_id')
     the_enterprise = None
     if enterprise_id:
         the_enterprise = Enterprise.load(enterprise_id)
     else:
         the_enterprise = Enterprise()
     return {'the_enterprise': the_enterprise,
             'billing_methods' : Enterprise.get_billing_methods()}
Exemple #2
0
    def save_enterprise(self):
        ent = Enterprise.load(self.request.POST.get('enterprise_id'))
        if not ent:
            ent = Enterprise()
        ent.bind(self.request.POST)
        ent.save()
        ent.flush()
        
        ent.clear_attributes()
        for i in range(10):
            attr_name = self.request.POST.get('attr_name[%d]' % i)
            attr_value = self.request.POST.get('attr_value[%d]' % i)
            if attr_name and attr_value:
                ent.set_attr(attr_name, attr_value)

        self.request.session.flash('Successfully saved %s.' % ent.name)
        return HTTPFound('/crm/company/enterprise/edit/%s' % ent.enterprise_id)
Exemple #3
0
    def exclog_tween(request, get_logger=logging.getLogger):
        # getLogger injected for testing purposes
        try:
            return handler(request)
        except ignored:
            raise
        except:
            logger = get_logger('exc_logger')

            ent = Enterprise.load(request.session['enterprise_id']) if 'enterprise_id' in request.session else None
            cust = Customer.load(request.session['customer_id']) if 'customer_id' in request.session else None
            user = Users.load(request.session['user_id']) if 'user_id' in request.session else None

            if extra_info:
                message = dedent("""\n
                %(url)s

                ENTERPRISE: %(ent)s
                CUSTOMER: %(cust)s
                USER: %(user)s

                SESSION
                %(sess)s

                ENVIRONMENT
                %(env)s

                PARAMETERS
                %(params)s


                """ % dict(url=request.url,
                           sess=pformat(request.session.items()),
                           ent ="%s : %s" % (ent.enterprise_id, ent.name) if ent else None,
                           cust="%s : %s" % (cust.customer_id, cust.email) if cust else None,
                           user="******" % (user.user_id, user.email) if user else None,
                           env=pformat(request.environ),
                           params=pformat(request.params)))
            else:
                message = request.url
            logger.exception(message)
            raise
Exemple #4
0
def _remember_enterprise(request):
    if 'enterprise_id' in request.session:
        request.ctx.enterprise = Enterprise.load(request.session['enterprise_id'])
    else:
        request.ctx.enterprise = request.ctx.site.company.enterprise
        request.session['enterprise_id'] = request.ctx.enterprise.enterprise_id
Exemple #5
0
 def _delete_new_enterprise(self, enterprise_id):
     ent = Enterprise.load(enterprise_id)
     self.assertNotEqual(ent, None)
     ent.delete()
     self.commit()