Skip to content

Commit bd5fb9d

Browse files
Merge pull request #384 from MySecondLanguage/fixed-some-minor-issue
Fixed some minor issue
2 parents 6fd61c6 + 1d23ff9 commit bd5fb9d

File tree

5 files changed

+73
-4
lines changed

5 files changed

+73
-4
lines changed

nxtbn/admin_schema.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,11 @@
99
from nxtbn.order.admin_queries import AdminOrderQuery
1010
from nxtbn.users.admin_queries import UserAdminQuery
1111
from nxtbn.warehouse.admin_queries import WarehouseQuery
12+
from nxtbn.purchase.admin_queries import PurchaseQuery
1213

1314

1415

15-
16-
17-
class Query(ProductQuery, AdminOrderQuery, AdminCoreQuery, WarehouseQuery, AdminCartQuery, UserAdminQuery):
16+
class Query(ProductQuery, AdminOrderQuery, AdminCoreQuery, WarehouseQuery, AdminCartQuery, UserAdminQuery, PurchaseQuery):
1817
pass
1918

2019
class Mutation(AdminUserMutation, ProductMutation, CoreMutation):

nxtbn/cart/admin_types.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class CartItemType(DjangoObjectType):
1010
db_id = graphene.ID(source='id')
1111
class Meta:
1212
model = CartItem
13-
fields = ('id', 'cart', 'variant', 'quantity', 'created_at', 'updated_at')
13+
fields = ('id', 'cart', 'variant', 'quantity', 'created_at', 'last_modified')
1414

1515

1616
class CartType(DjangoObjectType):

nxtbn/purchase/admin_queries.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
2+
3+
import graphene
4+
5+
from graphene_django.filter import DjangoFilterConnectionField
6+
from nxtbn.core.admin_permissions import gql_store_admin_required
7+
from nxtbn.purchase.admin_types import PurchaseType
8+
from nxtbn.purchase.models import PurchaseOrder
9+
10+
11+
12+
class PurchaseQuery(graphene.ObjectType):
13+
purchase = graphene.Field(PurchaseType, id=graphene.ID(required=True))
14+
purchases = DjangoFilterConnectionField(PurchaseType)
15+
16+
17+
18+
@gql_store_admin_required
19+
def resolve_purchase(root, info, id):
20+
21+
try:
22+
return PurchaseOrder.objects.get(pk=id)
23+
except PurchaseOrder.DoesNotExist:
24+
return None
25+
26+
27+
@gql_store_admin_required
28+
def resolve_purchases(root, info, **kwargs):
29+
return PurchaseOrder.objects.all()

nxtbn/purchase/admin_types.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
import graphene
2+
from graphene_django.types import DjangoObjectType
3+
from graphene_django.filter import DjangoFilterConnectionField
4+
from graphene import relay
5+
6+
from nxtbn.purchase.models import PurchaseOrder, PurchaseOrderItem
7+
8+
9+
10+
11+
class PurchaseType(DjangoObjectType):
12+
db_id = graphene.Int(source="id")
13+
class Meta:
14+
model = PurchaseOrder
15+
fields = '__all__'
16+
17+
interfaces = (relay.Node,)
18+
filter_fields = {
19+
'supplier__id': ['exact'],
20+
'destination__id': ['exact'],
21+
'status': ['exact'],
22+
'expected_delivery_date': ['exact', 'lte', 'gte'],
23+
'created_by__id': ['exact'],
24+
}
25+
26+
27+
class PurchaseOrderItemType(DjangoObjectType):
28+
db_id = graphene.Int(source="id")
29+
class Meta:
30+
model = PurchaseOrderItem
31+
fields = '__all__'
32+
interfaces = (relay.Node,)
33+
filter_fields = {
34+
'purchase_order__id': ['exact'],
35+
'variant__id': ['exact'],
36+
'ordered_quantity': ['exact', 'lte', 'gte'],
37+
'received_quantity': ['exact', 'lte', 'gte'],
38+
'rejected_quantity': ['exact', 'lte', 'gte'],
39+
'unit_cost': ['exact', 'lte', 'gte'],
40+
}

nxtbn/purchase/api/dashboard/serializers.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,7 @@ def update(self, instance, validated_data):
151151
item.delete()
152152

153153
# Return the updated purchase order instance
154+
instance.save()
154155
return instance
155156

156157

0 commit comments

Comments
 (0)