23
+    path('vendororder/', views.vendororder_index, name='vendororder_index'),
24
+    path('vendororder/create', views.vendororder_create, name='vendororder_create'),
25
+    path('vendororder/<pk>', views.vendororder_edit, name='vendororder_edit'),
18 26
     path('signup', views.signup, name='signup'),
19 27
 ]
20 28
 

+ 228 - 3
app/fruit/views.py

@@ -6,8 +6,9 @@ from django.contrib.auth.forms import UserCreationForm
6 6
 from django.urls import reverse
7 7
 from django.contrib.auth.decorators import login_required
8 8
 
9
-from fruit.models import Store, Product, Photo, ProductSKU, Sale, Inbox
10
-from .forms import StoreForm, ProductForm, InboxForm, SaleForm,  PhotoFormSet, InlinePhotoFormset, ProductSKUForm, ProductFilter, SaleFilter, InboxFilter
9
+from fruit.models import Store, Product, Photo, ProductSKU, Sale, Inbox, Vendor, VendorProduct
10
+
11
+from .forms import StoreForm, ProductForm, InboxForm, SaleForm,  PhotoFormSet,VendorFilter,  InlinePhotoFormset, ProductSKUForm, ProductFilter, SaleFilter, InboxFilter, VendorForm, VendorOrderForm, VendorOrderFilter, VendorOrder, InlineVendorProductFormset, VendorProductForm
11 12
 from django.contrib import messages
12 13
 from django.core.paginator import Paginator
13 14
 
@@ -115,7 +116,7 @@ def create_sku(request, pk):
115 116
             messages.success(request, "Product Save")
116 117
             return redirect("fruit:edit_sku", pk=i.pk)
117 118
         else:
118
-            message.error(request, "SKU  created failed")
119
+            messages.error(request, form.errors)
119 120
             return redirect("fruit:create_sku", pk=int(pk))
120 121
 
121 122
     return render(request, 'fruit/sku_form.html', {'form': form, 'pid': p.pk})
@@ -245,6 +246,230 @@ def inbox_edit(request, pk):
245 246
 
246 247
     return render(request, 'fruit/inbox_form.html', {'inbox_active': True, 'form': form, 'object': obj})
247 248
 
249
+@login_required
250
+def vendor_index(request):
251
+    stores = request.user.store_created.all().order_by("-created_at")
252
+    o_qs = stores[0].vendor_set.all().order_by("-created_at")
253
+
254
+    f = VendorFilter(request.GET, queryset=o_qs)
255
+
256
+    paginator = Paginator(f.qs, 25)
257
+    page_number = request.GET.get('page')
258
+    page_obj = paginator.get_page(page_number)
259
+
260
+    return render(request, 'fruit/vendor_index.html', {'o_qs': o_qs, 'vendor_active': True, 'page_obj': page_obj, 'filter': f})
261
+
262
+@login_required
263
+def vendor_edit(request, pk):
264
+    stores = request.user.store_created.all().order_by("-created_at")
265
+
266
+    obj = Vendor.objects.get(pk=pk)
267
+    form = VendorForm(instance = obj)
268
+    form2 = InlineVendorProductFormset(instance = obj)
269
+    for f in form2:
270
+        f.fields['product'].queryset = stores[0].product_set.all().order_by("-created_at")
271
+
272
+    if request.method == "POST":
273
+        form = VendorForm(request.POST)
274
+        form2 = InlineVendorProductFormset(request.POST, instance = obj)
275
+        if form.is_valid() and form2.is_valid():
276
+            instance1 = form.save()
277
+            instance2 = form2.save(commit=False)
278
+
279
+            for i in instance2:
280
+                i.created_by = request.user
281
+                i.save()
282
+
283
+            '''
284
+            print(instances)
285
+            for s in instances:
286
+                s.product = instance1
287
+                s.save()
288
+            '''
289
+            messages.success(request, "Vendor Save")
290
+        else:
291
+            print("Invalid ")
292
+            if form.errors:
293
+                messages.error(request, form.errors)
294
+            if form2.errors:
295
+                messages.error(request, form2.errors)
296
+
297
+        return redirect("fruit:vendor_edit", pk =  int(pk))
298
+
299
+    return render(request, 'fruit/vendor_form.html', {'vendor_active': True, 'form': form, 'obj': obj, 'form2': form2})
300
+
301
+@login_required
302
+def vendor_create(request):
303
+    stores = request.user.store_created.all().order_by("-created_at")
304
+
305
+    form = VendorForm()
306
+
307
+    form.fields['products'].queryset = stores[0].product_set.all().order_by("-created_at")
308
+
309
+    if request.method == "POST":
310
+        form = VendorForm(request.POST)
311
+        if form.is_valid():
312
+
313
+            instance1 = form.save(commit=False)
314
+            instance1.store = stores[0]
315
+            instance1.created_by = request.user
316
+            instance1.save()
317
+            '''
318
+            print(instances)
319
+            for s in instances:
320
+                s.product = instance1
321
+                s.save()
322
+            '''
323
+            messages.success(request, "Sale Save")
324
+        else:
325
+            print("Invalid ")
326
+            if form.errors:
327
+                messages.error(request, form.errors)
328
+
329
+        return redirect("fruit:vendor_edit", pk =  instance1.pk)
330
+
331
+    return render(request, 'fruit/vendor_form.html', {'vendor_active': True, 'form': form})
332
+
333
+@login_required
334
+def vendorproduct_create(request, pk):
335
+    stores = request.user.store_created.all().order_by("-created_at")
336
+    print(pk)
337
+    vendor = Vendor.objects.get(pk=pk)
338
+
339
+    form = VendorProductForm()
340
+
341
+    form.fields['product'].queryset = stores[0].product_set.all().order_by("-created_at")
342
+
343
+    if request.method == "POST":
344
+        form = VendorProductForm(request.POST)
345
+        if form.is_valid():
346
+
347
+            instance1 = form.save(commit=False)
348
+            instance1.store = stores[0]
349
+            instance1.vendor = vendor
350
+            instance1.created_by = request.user
351
+            instance1.save()
352
+            '''
353
+            print(instances)
354
+            for s in instances:
355
+                s.product = instance1
356
+                s.save()
357
+            '''
358
+            messages.success(request, "Sale Save")
359
+        else:
360
+            print("Invalid ")
361
+            if form.errors:
362
+                messages.error(request, form.errors)
363
+
364
+        return redirect("fruit:vendorproduct_edit", pk =  instance1.pk)
365
+
366
+    return render(request, 'fruit/vendorproduct_form.html', {'vendor_active': True, 'form': form, 'vendor': vendor})
367
+
368
+@login_required
369
+def vendorproduct_edit(request, pk):
370
+    stores = request.user.store_created.all().order_by("-created_at")
371
+
372
+    obj = VendorProduct.objects.get(pk=pk)
373
+    form = VendorProductForm(instance = obj)
374
+    vendor = obj.vendor
375
+
376
+    form.fields['product'].queryset = stores[0].product_set.all().order_by("-created_at")
377
+
378
+    if request.method == "POST":
379
+        form = VendorProductForm(request.POST)
380
+        if form.is_valid():
381
+            instance1 = form.save()
382
+
383
+            '''
384
+            print(instances)
385
+            for s in instances:
386
+                s.product = instance1
387
+                s.save()
388
+            '''
389
+            messages.success(request, "Vendor Product Save")
390
+        else:
391
+            print("Invalid ")
392
+            if form.errors:
393
+                messages.error(request, form.errors)
394
+
395
+        return redirect("fruit:vendorproduct_edit", pk =  int(pk))
396
+
397
+    return render(request, 'fruit/vendorproduct_form.html', {'vendor_active': True, 'form': form, 'obj': obj, 'vendor': vendor})
398
+
399
+#vendor order
400
+@login_required
401
+def vendororder_index(request):
402
+    stores = request.user.store_created.all().order_by("-created_at")
403
+    o_qs = stores[0].vendororder_set.all().order_by("-created_at")
404
+
405
+    f = VendorOrderFilter(request.GET, queryset=o_qs)
406
+
407
+    paginator = Paginator(f.qs, 25)
408
+    page_number = request.GET.get('page')
409
+    page_obj = paginator.get_page(page_number)
410
+
411
+    return render(request, 'fruit/vendororder_index.html', {'o_qs': o_qs, 'vendor_active': True, 'page_obj': page_obj, 'filter': f})
412
+
413
+
414
+@login_required
415
+def vendororder_edit(request, pk):
416
+    stores = request.user.store_created.all().order_by("-created_at")
417
+
418
+    obj = VendorOrder.objects.get(pk=pk)
419
+    form = VendorOrderForm(instance = obj)
420
+
421
+    #form.fields['product'].queryset = stores[0].product_set.all().order_by("-created_at")
422
+
423
+    if request.method == "POST":
424
+        form = VendorOrderForm(request.POST)
425
+        if form.is_valid():
426
+            instance1 = form.save()
427
+            '''
428
+            print(instances)
429
+            for s in instances:
430
+                s.product = instance1
431
+                s.save()
432
+            '''
433
+            messages.success(request, "Sale Save")
434
+        else:
435
+            print("Invalid ")
436
+            if form.errors:
437
+                messages.error(request, form.errors)
438
+
439
+        return redirect("fruit:vendororder_edit", pk =  int(pk))
440
+
441
+    return render(request, 'fruit/vendororder_form.html', {'vendor_active': True, 'form': form, 'object': obj})
442
+
443
+@login_required
444
+def vendororder_create(request):
445
+    stores = request.user.store_created.all().order_by("-created_at")
446
+
447
+    form = VendorOrderForm()
448
+
449
+
450
+    if request.method == "POST":
451
+        form = VendorOrderForm(request.POST)
452
+        if form.is_valid():
453
+
454
+            instance1 = form.save(commit=False)
455
+            instance1.store = stores[0]
456
+            instance1.save()
457
+            '''
458
+            print(instances)
459
+            for s in instances:
460
+                s.product = instance1
461
+                s.save()
462
+            '''
463
+            messages.success(request, "Vendor Order Save")
464
+            return redirect("fruit:vendororder_edit", pk =  instance1.pk)
465
+        else:
466
+            print("Invalid ")
467
+            if form.errors:
468
+                messages.error(request, form.errors)
469
+
470
+
471
+    return render(request, 'fruit/vendororder_form.html', {'vendororder_active': True, 'form': form})
472
+
248 473
 def signup(request):
249 474
     if request.method == 'POST':
250 475
         form = UserCreationForm(request.POST)

tum/tmt_learning - Gogs: Simplico Git Service

Açıklama Yok

LICENSE 748B

12345678910111213141516
  1. The ISC License
  2. Copyright (c) Isaac Z. Schlueter
  3. Permission to use, copy, modify, and/or distribute this software for any
  4. purpose with or without fee is hereby granted, provided that the above
  5. copyright notice and this permission notice appear in all copies.
  6. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  7. WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  8. MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  9. ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  10. WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  11. ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
  12. IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.