fixing app after removing DataSource dependency
This commit is contained in:
parent
fb742a1abe
commit
64afac2271
|
@ -0,0 +1,103 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from south.utils import datetime_utils as datetime
|
||||
from south.db import db
|
||||
from south.v2 import SchemaMigration
|
||||
from django.db import models
|
||||
|
||||
|
||||
class Migration(SchemaMigration):
|
||||
|
||||
def forwards(self, orm):
|
||||
# Deleting field 'Regie.get_url'
|
||||
db.delete_column(u'facturier_regie', 'get_url_id')
|
||||
|
||||
# Deleting field 'Regie.get_list_url'
|
||||
db.delete_column(u'facturier_regie', 'get_list_url_id')
|
||||
|
||||
# Deleting field 'Regie.update_url'
|
||||
db.delete_column(u'facturier_regie', 'update_url_id')
|
||||
|
||||
# Adding field 'Regie.invoice_get_url'
|
||||
db.add_column(u'facturier_regie', 'invoice_get_url',
|
||||
self.gf('django.db.models.fields.CharField')(default='', max_length=256),
|
||||
keep_default=False)
|
||||
|
||||
# Adding field 'Regie.invoice_update_url'
|
||||
db.add_column(u'facturier_regie', 'invoice_update_url',
|
||||
self.gf('django.db.models.fields.CharField')(default='', max_length=256),
|
||||
keep_default=False)
|
||||
|
||||
# Adding field 'Regie.invoice_list_url'
|
||||
db.add_column(u'facturier_regie', 'invoice_list_url',
|
||||
self.gf('django.db.models.fields.CharField')(max_length=256, null=True, blank=True),
|
||||
keep_default=False)
|
||||
|
||||
|
||||
def backwards(self, orm):
|
||||
# Adding field 'Regie.get_url'
|
||||
db.add_column(u'facturier_regie', 'get_url',
|
||||
self.gf('django.db.models.fields.related.ForeignKey')(default='', related_name='regie_get', to=orm['data_source_plugin.DataSource']),
|
||||
keep_default=False)
|
||||
|
||||
# Adding field 'Regie.get_list_url'
|
||||
db.add_column(u'facturier_regie', 'get_list_url',
|
||||
self.gf('django.db.models.fields.related.ForeignKey')(related_name='regie_get_list', null=True, to=orm['data_source_plugin.DataSource'], blank=True),
|
||||
keep_default=False)
|
||||
|
||||
# Adding field 'Regie.update_url'
|
||||
db.add_column(u'facturier_regie', 'update_url',
|
||||
self.gf('django.db.models.fields.related.ForeignKey')(default='', related_name='regie_update', to=orm['data_source_plugin.DataSource']),
|
||||
keep_default=False)
|
||||
|
||||
# Deleting field 'Regie.invoice_get_url'
|
||||
db.delete_column(u'facturier_regie', 'invoice_get_url')
|
||||
|
||||
# Deleting field 'Regie.invoice_update_url'
|
||||
db.delete_column(u'facturier_regie', 'invoice_update_url')
|
||||
|
||||
# Deleting field 'Regie.invoice_list_url'
|
||||
db.delete_column(u'facturier_regie', 'invoice_list_url')
|
||||
|
||||
|
||||
models = {
|
||||
u'facturier.regie': {
|
||||
'Meta': {'object_name': 'Regie'},
|
||||
'description': ('django.db.models.fields.TextField', [], {}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'invoice_get_url': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||
'invoice_list_url': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}),
|
||||
'invoice_update_url': ('django.db.models.fields.CharField', [], {'max_length': '256'}),
|
||||
'label': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
|
||||
'service': ('django.db.models.fields.CharField', [], {'max_length': '64'}),
|
||||
'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '50'})
|
||||
},
|
||||
u'facturier.requestoption': {
|
||||
'Meta': {'object_name': 'RequestOption'},
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
|
||||
'regie': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['facturier.Regie']"}),
|
||||
'value': ('django.db.models.fields.CharField', [], {'max_length': '256'})
|
||||
},
|
||||
u'facturier.serviceoption': {
|
||||
'Meta': {'object_name': 'ServiceOption'},
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'name': ('django.db.models.fields.CharField', [], {'max_length': '32'}),
|
||||
'regie': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['facturier.Regie']"}),
|
||||
'value': ('django.db.models.fields.CharField', [], {'max_length': '256'})
|
||||
},
|
||||
u'facturier.transactionevent': {
|
||||
'Meta': {'ordering': "['date']", 'object_name': 'TransactionEvent'},
|
||||
'address': ('django.db.models.fields.GenericIPAddressField', [], {'max_length': '39', 'null': 'True', 'blank': 'True'}),
|
||||
'date': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
|
||||
'details': ('jsonfield.fields.JSONField', [], {'null': 'True', 'blank': 'True'}),
|
||||
u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
|
||||
'invoice_id': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
|
||||
'nameid': ('django.db.models.fields.CharField', [], {'max_length': '256', 'null': 'True', 'blank': 'True'}),
|
||||
'regie': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['facturier.Regie']"}),
|
||||
'response': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
|
||||
'status': ('django.db.models.fields.CharField', [], {'default': "'CREATED'", 'max_length': '16'}),
|
||||
'transaction_id': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'})
|
||||
}
|
||||
}
|
||||
|
||||
complete_apps = ['facturier']
|
|
@ -2,6 +2,8 @@ from django.db import models
|
|||
from django.core.urlresolvers import reverse
|
||||
from django.utils.translation import ugettext_lazy as _, pgettext_lazy
|
||||
from django.template import RequestContext
|
||||
from django.template import Template
|
||||
|
||||
from jsonfield import JSONField
|
||||
|
||||
from portail_citoyen2.apps.data_source_plugin.models import DataSource
|
||||
|
@ -34,14 +36,11 @@ class Regie(models.Model):
|
|||
slug = models.SlugField(unique=True)
|
||||
description = models.TextField()
|
||||
service = models.CharField(max_length=64, choices=SERVICES)
|
||||
get_url = models.ForeignKey(DataSource, related_name='regie_get',
|
||||
help_text=_('Get an invoice from this Regie'))
|
||||
update_url = models.ForeignKey(DataSource, related_name='regie_update',
|
||||
help_text=_('Update an invoice of this Regie'))
|
||||
get_list_url = models.ForeignKey(DataSource, related_name='regie_get_list',
|
||||
blank=True, null=True,
|
||||
invoice_get_url = models.CharField(max_length=256, help_text=_('Get an invoice from this Regie'))
|
||||
invoice_update_url = models.CharField(max_length=256, help_text=_('Update an invoice of this Regie'))
|
||||
invoice_list_url = models.CharField(max_length=256, blank=True, null=True,
|
||||
help_text=_("Get a list of invoices "\
|
||||
"(RequestContext dependent, typically user's invoices)"))
|
||||
"(RequestContext dependent, typically user's invoices)"))
|
||||
|
||||
def natural_key(self):
|
||||
return (self.slug,)
|
||||
|
@ -49,11 +48,24 @@ class Regie(models.Model):
|
|||
def __unicode__(self):
|
||||
return self.label
|
||||
|
||||
def get_invoice_url(self, context):
|
||||
return Template(self.invoice_get_url).render(context)
|
||||
|
||||
def get_invoice_update_url(self, context):
|
||||
return Template(self.invoice_update_url).render(context)
|
||||
|
||||
def get_invoice_list_url(self, context):
|
||||
return Template(self.invoice_list_url).render(context)
|
||||
|
||||
def get_invoice_list(self, request, **kwargs):
|
||||
if not self.get_list_url:
|
||||
return []
|
||||
context = RequestContext(request, kwargs)
|
||||
data_source = Data(self.get_list_url, context, limit=None, refresh=None)
|
||||
data_source = Data('tipi', {'limit': None, 'refresh': None},
|
||||
{'url': self.get_invoice_list_url(context),
|
||||
'content_type': 'json',
|
||||
'parser_type': 'json',
|
||||
'slug': 'invoice'}, context)
|
||||
content = data_source.update_content()
|
||||
return content.get('data', {}).get('invoices', [])
|
||||
|
||||
|
@ -66,7 +78,11 @@ class Regie(models.Model):
|
|||
'invoice_hash': invoice_hash}
|
||||
if request:
|
||||
context = RequestContext(request, context)
|
||||
data_source = Data(self.get_url, context, limit=None, refresh=None)
|
||||
data_source = Data('tipi', {'limit': None, 'refresh': None},
|
||||
{'url': self.get_invoice_url(context),
|
||||
'content_type': 'json',
|
||||
'parser_type': 'json',
|
||||
'slug': 'invoice'}, context)
|
||||
content = data_source.update_content()
|
||||
invoice = content.get('data', {}).get('invoice', {})
|
||||
if invoice:
|
||||
|
|
|
@ -243,9 +243,10 @@ class TransactionView(DetailView):
|
|||
logger.debug('payment response: close transaction %s' % event.transaction_id)
|
||||
self.create_event(event.transaction_id, invoice_id, status,
|
||||
response=True, message='response', details=response.__dict__)
|
||||
update_url = self.object.get_invoice_update_url(context)
|
||||
logger.debug('payment response: update invoice PAID %s -- context %s' %
|
||||
(self.object.update_url, context))
|
||||
self.invoice_rest_request(self.object.update_url, context)
|
||||
(update_url, context))
|
||||
self.invoice_rest_request(update_url, context)
|
||||
|
||||
# ok !
|
||||
logger.debug('payment response: OK invoice %s', invoice_id)
|
||||
|
|
Reference in New Issue