소스 검색

Delete unused fields on [Shipping|Payment]EventType

is_required and sequence_number are removed. That also makes the unused
get_prerequisites function obsolete.

Those fields were added with the idea that those event flows are linear,
but all implementations assume a non-linear pattern.
master
Maik Hoepfel 12 년 전
부모
커밋
5238c28e69

+ 3
- 0
docs/source/releases/v0.6.rst 파일 보기

@@ -167,3 +167,6 @@ There are new migrations in the following apps to be aware of.
167 167
     - The `date` field of the ``order.AbstractCommunicationEvent``, ``order.AbstractPaymentEvent`` and
168 168
       ``order.AbstractShippingEvent`` models have been renamed to ``date_created`` for
169 169
       consistency with the rest of Oscar.
170
+    - ``0015``: Unused ``sequence_number`` and ``is_required`` deleted from
171
+      ``ShippingEventType``. Unused ``sequence_number`` deleted from
172
+      ``PaymentEventType``.

+ 2
- 20
oscar/apps/order/abstract_models.py 파일 보기

@@ -664,7 +664,6 @@ class AbstractPaymentEventType(models.Model):
664 664
     """
665 665
     name = models.CharField(_("Name"), max_length=128, unique=True)
666 666
     code = models.SlugField(_("Code"), max_length=128, unique=True)
667
-    sequence_number = models.PositiveIntegerField(_("Sequence"), default=0)
668 667
 
669 668
     def save(self, *args, **kwargs):
670 669
         if not self.code:
@@ -675,7 +674,7 @@ class AbstractPaymentEventType(models.Model):
675 674
         abstract = True
676 675
         verbose_name = _("Payment Event Type")
677 676
         verbose_name_plural = _("Payment Event Types")
678
-        ordering = ('sequence_number',)
677
+        ordering = ('name', )
679 678
 
680 679
     def __unicode__(self):
681 680
         return self.name
@@ -821,16 +820,8 @@ class AbstractShippingEventType(models.Model):
821 820
     """
822 821
     # Name is the friendly description of an event
823 822
     name = models.CharField(_("Name"), max_length=255, unique=True)
824
-
825 823
     # Code is used in forms
826 824
     code = models.SlugField(_("Code"), max_length=128, unique=True)
827
-    is_required = models.BooleanField(
828
-        _("Is Required"), default=False,
829
-        help_text=_("This event must be passed before the next "
830
-                    "shipping event can take place"))
831
-
832
-    # The normal order in which these shipping events take place
833
-    sequence_number = models.PositiveIntegerField(_("Sequence"), default=0)
834 825
 
835 826
     def save(self, *args, **kwargs):
836 827
         if not self.code:
@@ -841,20 +832,11 @@ class AbstractShippingEventType(models.Model):
841 832
         abstract = True
842 833
         verbose_name = _("Shipping Event Type")
843 834
         verbose_name_plural = _("Shipping Event Types")
844
-        ordering = ('sequence_number',)
835
+        ordering = ('name', )
845 836
 
846 837
     def __unicode__(self):
847 838
         return self.name
848 839
 
849
-    def get_prerequisites(self):
850
-        """
851
-        Return event types that must be complete before this one
852
-        """
853
-        return self.__class__._default_manager.filter(
854
-            is_required=True,
855
-            sequence_number__lt=self.sequence_number).order_by(
856
-                'sequence_number')
857
-
858 840
 
859 841
 # DISCOUNTS
860 842
 

+ 1
- 1
oscar/apps/order/admin.py 파일 보기

@@ -40,7 +40,7 @@ class LinePriceAdmin(admin.ModelAdmin):
40 40
 
41 41
 
42 42
 class ShippingEventTypeAdmin(admin.ModelAdmin):
43
-    list_display = ('name', 'is_required', 'sequence_number')
43
+    list_display = ('name', )
44 44
     exclude = ('code',)
45 45
 
46 46
 

+ 394
- 0
oscar/apps/order/migrations/0015_auto__del_field_shippingeventtype_is_required__del_field_shippingevent.py 파일 보기

@@ -0,0 +1,394 @@
1
+# -*- coding: utf-8 -*-
2
+import datetime
3
+from south.db import db
4
+from south.v2 import SchemaMigration
5
+from django.db import models
6
+
7
+
8
+class Migration(SchemaMigration):
9
+
10
+    def forwards(self, orm):
11
+        # Deleting field 'ShippingEventType.is_required'
12
+        db.delete_column(u'order_shippingeventtype', 'is_required')
13
+
14
+        # Deleting field 'ShippingEventType.sequence_number'
15
+        db.delete_column(u'order_shippingeventtype', 'sequence_number')
16
+
17
+        # Deleting field 'PaymentEventType.sequence_number'
18
+        db.delete_column(u'order_paymenteventtype', 'sequence_number')
19
+
20
+
21
+    def backwards(self, orm):
22
+        # Adding field 'ShippingEventType.is_required'
23
+        db.add_column(u'order_shippingeventtype', 'is_required',
24
+                      self.gf('django.db.models.fields.BooleanField')(default=False),
25
+                      keep_default=False)
26
+
27
+        # Adding field 'ShippingEventType.sequence_number'
28
+        db.add_column(u'order_shippingeventtype', 'sequence_number',
29
+                      self.gf('django.db.models.fields.PositiveIntegerField')(default=0),
30
+                      keep_default=False)
31
+
32
+        # Adding field 'PaymentEventType.sequence_number'
33
+        db.add_column(u'order_paymenteventtype', 'sequence_number',
34
+                      self.gf('django.db.models.fields.PositiveIntegerField')(default=0),
35
+                      keep_default=False)
36
+
37
+
38
+    models = {
39
+        u'address.country': {
40
+            'Meta': {'ordering': "('-display_order', 'name')", 'object_name': 'Country'},
41
+            'display_order': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0', 'db_index': 'True'}),
42
+            'is_shipping_country': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
43
+            'iso_3166_1_a2': ('django.db.models.fields.CharField', [], {'max_length': '2', 'primary_key': 'True'}),
44
+            'iso_3166_1_a3': ('django.db.models.fields.CharField', [], {'max_length': '3', 'null': 'True', 'db_index': 'True'}),
45
+            'iso_3166_1_numeric': ('django.db.models.fields.PositiveSmallIntegerField', [], {'null': 'True', 'db_index': 'True'}),
46
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
47
+            'printable_name': ('django.db.models.fields.CharField', [], {'max_length': '128'})
48
+        },
49
+        u'auth.group': {
50
+            'Meta': {'object_name': 'Group'},
51
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
52
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '80'}),
53
+            'permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'})
54
+        },
55
+        u'auth.permission': {
56
+            'Meta': {'ordering': "(u'content_type__app_label', u'content_type__model', u'codename')", 'unique_together': "((u'content_type', u'codename'),)", 'object_name': 'Permission'},
57
+            'codename': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
58
+            'content_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['contenttypes.ContentType']"}),
59
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
60
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
61
+        },
62
+        u'auth.user': {
63
+            'Meta': {'object_name': 'User'},
64
+            'date_joined': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
65
+            'email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'blank': 'True'}),
66
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
67
+            'groups': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Group']", 'symmetrical': 'False', 'blank': 'True'}),
68
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
69
+            'is_active': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
70
+            'is_staff': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
71
+            'is_superuser': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
72
+            'last_login': ('django.db.models.fields.DateTimeField', [], {'default': 'datetime.datetime.now'}),
73
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '30', 'blank': 'True'}),
74
+            'password': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
75
+            'user_permissions': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['auth.Permission']", 'symmetrical': 'False', 'blank': 'True'}),
76
+            'username': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '30'})
77
+        },
78
+        u'catalogue.attributeentity': {
79
+            'Meta': {'object_name': 'AttributeEntity'},
80
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
81
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
82
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'blank': 'True'}),
83
+            'type': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'entities'", 'to': u"orm['catalogue.AttributeEntityType']"})
84
+        },
85
+        u'catalogue.attributeentitytype': {
86
+            'Meta': {'object_name': 'AttributeEntityType'},
87
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
88
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
89
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255', 'blank': 'True'})
90
+        },
91
+        u'catalogue.attributeoption': {
92
+            'Meta': {'object_name': 'AttributeOption'},
93
+            'group': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'options'", 'to': u"orm['catalogue.AttributeOptionGroup']"}),
94
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
95
+            'option': ('django.db.models.fields.CharField', [], {'max_length': '255'})
96
+        },
97
+        u'catalogue.attributeoptiongroup': {
98
+            'Meta': {'object_name': 'AttributeOptionGroup'},
99
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
100
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'})
101
+        },
102
+        u'catalogue.category': {
103
+            'Meta': {'ordering': "['full_name']", 'object_name': 'Category'},
104
+            'depth': ('django.db.models.fields.PositiveIntegerField', [], {}),
105
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
106
+            'full_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
107
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
108
+            'image': ('django.db.models.fields.files.ImageField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
109
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'db_index': 'True'}),
110
+            'numchild': ('django.db.models.fields.PositiveIntegerField', [], {'default': '0'}),
111
+            'path': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}),
112
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'})
113
+        },
114
+        u'catalogue.option': {
115
+            'Meta': {'object_name': 'Option'},
116
+            'code': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '128'}),
117
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
118
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
119
+            'type': ('django.db.models.fields.CharField', [], {'default': "'Required'", 'max_length': '128'})
120
+        },
121
+        u'catalogue.product': {
122
+            'Meta': {'ordering': "['-date_created']", 'object_name': 'Product'},
123
+            'attributes': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['catalogue.ProductAttribute']", 'through': u"orm['catalogue.ProductAttributeValue']", 'symmetrical': 'False'}),
124
+            'categories': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['catalogue.Category']", 'through': u"orm['catalogue.ProductCategory']", 'symmetrical': 'False'}),
125
+            'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
126
+            'date_updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'db_index': 'True', 'blank': 'True'}),
127
+            'description': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
128
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
129
+            'is_discountable': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
130
+            'parent': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'variants'", 'null': 'True', 'to': u"orm['catalogue.Product']"}),
131
+            'product_class': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['catalogue.ProductClass']", 'null': 'True'}),
132
+            'product_options': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['catalogue.Option']", 'symmetrical': 'False', 'blank': 'True'}),
133
+            'rating': ('django.db.models.fields.FloatField', [], {'null': 'True'}),
134
+            'recommended_products': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['catalogue.Product']", 'symmetrical': 'False', 'through': u"orm['catalogue.ProductRecommendation']", 'blank': 'True'}),
135
+            'related_products': ('django.db.models.fields.related.ManyToManyField', [], {'symmetrical': 'False', 'related_name': "'relations'", 'blank': 'True', 'to': u"orm['catalogue.Product']"}),
136
+            'score': ('django.db.models.fields.FloatField', [], {'default': '0.0', 'db_index': 'True'}),
137
+            'slug': ('django.db.models.fields.SlugField', [], {'max_length': '255'}),
138
+            'status': ('django.db.models.fields.CharField', [], {'db_index': 'True', 'max_length': '128', 'null': 'True', 'blank': 'True'}),
139
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
140
+            'upc': ('django.db.models.fields.CharField', [], {'max_length': '64', 'unique': 'True', 'null': 'True', 'blank': 'True'})
141
+        },
142
+        u'catalogue.productattribute': {
143
+            'Meta': {'ordering': "['code']", 'object_name': 'ProductAttribute'},
144
+            'code': ('django.db.models.fields.SlugField', [], {'max_length': '128'}),
145
+            'entity_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['catalogue.AttributeEntityType']", 'null': 'True', 'blank': 'True'}),
146
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
147
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
148
+            'option_group': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['catalogue.AttributeOptionGroup']", 'null': 'True', 'blank': 'True'}),
149
+            'product_class': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'attributes'", 'null': 'True', 'to': u"orm['catalogue.ProductClass']"}),
150
+            'required': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
151
+            'type': ('django.db.models.fields.CharField', [], {'default': "'text'", 'max_length': '20'})
152
+        },
153
+        u'catalogue.productattributevalue': {
154
+            'Meta': {'object_name': 'ProductAttributeValue'},
155
+            'attribute': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['catalogue.ProductAttribute']"}),
156
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
157
+            'product': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'attribute_values'", 'to': u"orm['catalogue.Product']"}),
158
+            'value_boolean': ('django.db.models.fields.BooleanField', [], {'default': 'False'}),
159
+            'value_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
160
+            'value_entity': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['catalogue.AttributeEntity']", 'null': 'True', 'blank': 'True'}),
161
+            'value_float': ('django.db.models.fields.FloatField', [], {'null': 'True', 'blank': 'True'}),
162
+            'value_integer': ('django.db.models.fields.IntegerField', [], {'null': 'True', 'blank': 'True'}),
163
+            'value_option': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['catalogue.AttributeOption']", 'null': 'True', 'blank': 'True'}),
164
+            'value_richtext': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
165
+            'value_text': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'})
166
+        },
167
+        u'catalogue.productcategory': {
168
+            'Meta': {'ordering': "['-is_canonical']", 'object_name': 'ProductCategory'},
169
+            'category': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['catalogue.Category']"}),
170
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
171
+            'is_canonical': ('django.db.models.fields.BooleanField', [], {'default': 'False', 'db_index': 'True'}),
172
+            'product': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['catalogue.Product']"})
173
+        },
174
+        u'catalogue.productclass': {
175
+            'Meta': {'ordering': "['name']", 'object_name': 'ProductClass'},
176
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
177
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
178
+            'options': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['catalogue.Option']", 'symmetrical': 'False', 'blank': 'True'}),
179
+            'requires_shipping': ('django.db.models.fields.BooleanField', [], {'default': 'True'}),
180
+            'slug': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '128'}),
181
+            'track_stock': ('django.db.models.fields.BooleanField', [], {'default': 'True'})
182
+        },
183
+        u'catalogue.productrecommendation': {
184
+            'Meta': {'object_name': 'ProductRecommendation'},
185
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
186
+            'primary': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'primary_recommendations'", 'to': u"orm['catalogue.Product']"}),
187
+            'ranking': ('django.db.models.fields.PositiveSmallIntegerField', [], {'default': '0'}),
188
+            'recommendation': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['catalogue.Product']"})
189
+        },
190
+        u'contenttypes.contenttype': {
191
+            'Meta': {'ordering': "('name',)", 'unique_together': "(('app_label', 'model'),)", 'object_name': 'ContentType', 'db_table': "'django_content_type'"},
192
+            'app_label': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
193
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
194
+            'model': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
195
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '100'})
196
+        },
197
+        u'customer.communicationeventtype': {
198
+            'Meta': {'object_name': 'CommunicationEventType'},
199
+            'category': ('django.db.models.fields.CharField', [], {'default': "u'Order related'", 'max_length': '255'}),
200
+            'code': ('django.db.models.fields.SlugField', [], {'max_length': '128'}),
201
+            'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
202
+            'date_updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
203
+            'email_body_html_template': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
204
+            'email_body_template': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
205
+            'email_subject_template': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
206
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
207
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
208
+            'sms_template': ('django.db.models.fields.CharField', [], {'max_length': '170', 'blank': 'True'})
209
+        },
210
+        u'order.billingaddress': {
211
+            'Meta': {'object_name': 'BillingAddress'},
212
+            'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['address.Country']"}),
213
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
214
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
215
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
216
+            'line1': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
217
+            'line2': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
218
+            'line3': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
219
+            'line4': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
220
+            'postcode': ('oscar.models.fields.UppercaseCharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'}),
221
+            'search_text': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
222
+            'state': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
223
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'})
224
+        },
225
+        u'order.communicationevent': {
226
+            'Meta': {'ordering': "['-date_created']", 'object_name': 'CommunicationEvent'},
227
+            'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
228
+            'event_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['customer.CommunicationEventType']"}),
229
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
230
+            'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'communication_events'", 'to': u"orm['order.Order']"})
231
+        },
232
+        u'order.line': {
233
+            'Meta': {'object_name': 'Line'},
234
+            'est_dispatch_date': ('django.db.models.fields.DateField', [], {'null': 'True', 'blank': 'True'}),
235
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
236
+            'line_price_before_discounts_excl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
237
+            'line_price_before_discounts_incl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
238
+            'line_price_excl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
239
+            'line_price_incl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
240
+            'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'lines'", 'to': u"orm['order.Order']"}),
241
+            'partner': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'order_lines'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['partner.Partner']"}),
242
+            'partner_line_notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
243
+            'partner_line_reference': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
244
+            'partner_name': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
245
+            'partner_sku': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
246
+            'product': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['catalogue.Product']", 'null': 'True', 'on_delete': 'models.SET_NULL', 'blank': 'True'}),
247
+            'quantity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
248
+            'status': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
249
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
250
+            'unit_cost_price': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
251
+            'unit_price_excl_tax': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
252
+            'unit_price_incl_tax': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
253
+            'unit_retail_price': ('django.db.models.fields.DecimalField', [], {'null': 'True', 'max_digits': '12', 'decimal_places': '2', 'blank': 'True'}),
254
+            'upc': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'})
255
+        },
256
+        u'order.lineattribute': {
257
+            'Meta': {'object_name': 'LineAttribute'},
258
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
259
+            'line': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'attributes'", 'to': u"orm['order.Line']"}),
260
+            'option': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'line_attributes'", 'null': 'True', 'on_delete': 'models.SET_NULL', 'to': u"orm['catalogue.Option']"}),
261
+            'type': ('django.db.models.fields.CharField', [], {'max_length': '128'}),
262
+            'value': ('django.db.models.fields.CharField', [], {'max_length': '255'})
263
+        },
264
+        u'order.lineprice': {
265
+            'Meta': {'ordering': "('id',)", 'object_name': 'LinePrice'},
266
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
267
+            'line': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'prices'", 'to': u"orm['order.Line']"}),
268
+            'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'line_prices'", 'to': u"orm['order.Order']"}),
269
+            'price_excl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
270
+            'price_incl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
271
+            'quantity': ('django.db.models.fields.PositiveIntegerField', [], {'default': '1'}),
272
+            'shipping_excl_tax': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
273
+            'shipping_incl_tax': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'})
274
+        },
275
+        u'order.order': {
276
+            'Meta': {'ordering': "['-date_placed']", 'object_name': 'Order'},
277
+            'basket_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}),
278
+            'billing_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['order.BillingAddress']", 'null': 'True', 'blank': 'True'}),
279
+            'date_placed': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'db_index': 'True', 'blank': 'True'}),
280
+            'guest_email': ('django.db.models.fields.EmailField', [], {'max_length': '75', 'null': 'True', 'blank': 'True'}),
281
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
282
+            'number': ('django.db.models.fields.CharField', [], {'max_length': '128', 'db_index': 'True'}),
283
+            'shipping_address': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['order.ShippingAddress']", 'null': 'True', 'blank': 'True'}),
284
+            'shipping_excl_tax': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
285
+            'shipping_incl_tax': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
286
+            'shipping_method': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
287
+            'site': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['sites.Site']"}),
288
+            'status': ('django.db.models.fields.CharField', [], {'max_length': '100', 'null': 'True', 'blank': 'True'}),
289
+            'total_excl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
290
+            'total_incl_tax': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
291
+            'user': ('django.db.models.fields.related.ForeignKey', [], {'blank': 'True', 'related_name': "'orders'", 'null': 'True', 'to': u"orm['auth.User']"})
292
+        },
293
+        u'order.orderdiscount': {
294
+            'Meta': {'object_name': 'OrderDiscount'},
295
+            'amount': ('django.db.models.fields.DecimalField', [], {'default': '0', 'max_digits': '12', 'decimal_places': '2'}),
296
+            'category': ('django.db.models.fields.CharField', [], {'default': "'Basket'", 'max_length': '64'}),
297
+            'frequency': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True'}),
298
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
299
+            'message': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
300
+            'offer_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'}),
301
+            'offer_name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'db_index': 'True'}),
302
+            'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'discounts'", 'to': u"orm['order.Order']"}),
303
+            'voucher_code': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'db_index': 'True'}),
304
+            'voucher_id': ('django.db.models.fields.PositiveIntegerField', [], {'null': 'True', 'blank': 'True'})
305
+        },
306
+        u'order.ordernote': {
307
+            'Meta': {'object_name': 'OrderNote'},
308
+            'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
309
+            'date_updated': ('django.db.models.fields.DateTimeField', [], {'auto_now': 'True', 'blank': 'True'}),
310
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
311
+            'message': ('django.db.models.fields.TextField', [], {}),
312
+            'note_type': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True'}),
313
+            'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'notes'", 'to': u"orm['order.Order']"}),
314
+            'user': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['auth.User']", 'null': 'True'})
315
+        },
316
+        u'order.paymentevent': {
317
+            'Meta': {'ordering': "['-date_created']", 'object_name': 'PaymentEvent'},
318
+            'amount': ('django.db.models.fields.DecimalField', [], {'max_digits': '12', 'decimal_places': '2'}),
319
+            'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
320
+            'event_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['order.PaymentEventType']"}),
321
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
322
+            'lines': ('django.db.models.fields.related.ManyToManyField', [], {'to': u"orm['order.Line']", 'through': u"orm['order.PaymentEventQuantity']", 'symmetrical': 'False'}),
323
+            'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'payment_events'", 'to': u"orm['order.Order']"}),
324
+            'reference': ('django.db.models.fields.CharField', [], {'max_length': '128', 'blank': 'True'}),
325
+            'shipping_event': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'payment_events'", 'null': 'True', 'to': u"orm['order.ShippingEvent']"})
326
+        },
327
+        u'order.paymenteventquantity': {
328
+            'Meta': {'object_name': 'PaymentEventQuantity'},
329
+            'event': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'line_quantities'", 'to': u"orm['order.PaymentEvent']"}),
330
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
331
+            'line': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'payment_event_quantities'", 'to': u"orm['order.Line']"}),
332
+            'quantity': ('django.db.models.fields.PositiveIntegerField', [], {})
333
+        },
334
+        u'order.paymenteventtype': {
335
+            'Meta': {'ordering': "('name',)", 'object_name': 'PaymentEventType'},
336
+            'code': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '128'}),
337
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
338
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '128'})
339
+        },
340
+        u'order.shippingaddress': {
341
+            'Meta': {'object_name': 'ShippingAddress'},
342
+            'country': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['address.Country']"}),
343
+            'first_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
344
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
345
+            'last_name': ('django.db.models.fields.CharField', [], {'max_length': '255', 'blank': 'True'}),
346
+            'line1': ('django.db.models.fields.CharField', [], {'max_length': '255'}),
347
+            'line2': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
348
+            'line3': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
349
+            'line4': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
350
+            'notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
351
+            'phone_number': ('django.db.models.fields.CharField', [], {'max_length': '32', 'null': 'True', 'blank': 'True'}),
352
+            'postcode': ('oscar.models.fields.UppercaseCharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'}),
353
+            'search_text': ('django.db.models.fields.CharField', [], {'max_length': '1000'}),
354
+            'state': ('django.db.models.fields.CharField', [], {'max_length': '255', 'null': 'True', 'blank': 'True'}),
355
+            'title': ('django.db.models.fields.CharField', [], {'max_length': '64', 'null': 'True', 'blank': 'True'})
356
+        },
357
+        u'order.shippingevent': {
358
+            'Meta': {'ordering': "['-date_created']", 'object_name': 'ShippingEvent'},
359
+            'date_created': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}),
360
+            'event_type': ('django.db.models.fields.related.ForeignKey', [], {'to': u"orm['order.ShippingEventType']"}),
361
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
362
+            'lines': ('django.db.models.fields.related.ManyToManyField', [], {'related_name': "'shipping_events'", 'symmetrical': 'False', 'through': u"orm['order.ShippingEventQuantity']", 'to': u"orm['order.Line']"}),
363
+            'notes': ('django.db.models.fields.TextField', [], {'null': 'True', 'blank': 'True'}),
364
+            'order': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'shipping_events'", 'to': u"orm['order.Order']"})
365
+        },
366
+        u'order.shippingeventquantity': {
367
+            'Meta': {'object_name': 'ShippingEventQuantity'},
368
+            'event': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'line_quantities'", 'to': u"orm['order.ShippingEvent']"}),
369
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
370
+            'line': ('django.db.models.fields.related.ForeignKey', [], {'related_name': "'shipping_event_quantities'", 'to': u"orm['order.Line']"}),
371
+            'quantity': ('django.db.models.fields.PositiveIntegerField', [], {})
372
+        },
373
+        u'order.shippingeventtype': {
374
+            'Meta': {'ordering': "('name',)", 'object_name': 'ShippingEventType'},
375
+            'code': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '128'}),
376
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
377
+            'name': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'})
378
+        },
379
+        u'partner.partner': {
380
+            'Meta': {'object_name': 'Partner'},
381
+            'code': ('django.db.models.fields.SlugField', [], {'unique': 'True', 'max_length': '128'}),
382
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
383
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '128', 'null': 'True', 'blank': 'True'}),
384
+            'users': ('django.db.models.fields.related.ManyToManyField', [], {'blank': 'True', 'related_name': "'partners'", 'null': 'True', 'symmetrical': 'False', 'to': u"orm['auth.User']"})
385
+        },
386
+        u'sites.site': {
387
+            'Meta': {'ordering': "('domain',)", 'object_name': 'Site', 'db_table': "'django_site'"},
388
+            'domain': ('django.db.models.fields.CharField', [], {'max_length': '100'}),
389
+            u'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}),
390
+            'name': ('django.db.models.fields.CharField', [], {'max_length': '50'})
391
+        }
392
+    }
393
+
394
+    complete_apps = ['order']

+ 2
- 17
tests/integration/order/model_tests.py 파일 보기

@@ -218,17 +218,6 @@ class ShippingEventTypeTests(TestCase):
218 218
         etype = ShippingEventType.objects.create(name='Returned')
219 219
         self.assertEqual('returned', etype.code)
220 220
 
221
-    def test_get_prerequisites(self):
222
-        ShippingEventType.objects.create(name='Shipped',
223
-                                         is_required=True,
224
-                                         sequence_number=0)
225
-        etype = ShippingEventType.objects.create(name='Returned',
226
-                                                 is_required=False,
227
-                                                 sequence_number=1)
228
-        prereqs = etype.get_prerequisites()
229
-        self.assertEqual(1, len(prereqs))
230
-        self.assertEqual('Shipped', prereqs[0].name)
231
-
232 221
 
233 222
 class ShippingEventQuantityTests(TestCase):
234 223
 
@@ -238,12 +227,8 @@ class ShippingEventQuantityTests(TestCase):
238 227
         self.order = create_order(number='100002', basket=basket)
239 228
         self.line = self.order.lines.all()[0]
240 229
 
241
-        self.shipped,_ = ShippingEventType.objects.get_or_create(name='Shipped',
242
-                                                                 is_required=True,
243
-                                                                 sequence_number=0)
244
-        self.returned,_ = ShippingEventType.objects.get_or_create(name='Returned',
245
-                                                                 is_required=False,
246
-                                                                 sequence_number=1)
230
+        self.shipped,_ = ShippingEventType.objects.get_or_create(name='Shipped')
231
+        self.returned,_ = ShippingEventType.objects.get_or_create(name='Returned')
247 232
 
248 233
     def tearDown(self):
249 234
         ShippingEventType.objects.all().delete()

Loading…
취소
저장