Skip to content

Commit

Permalink
Initial Commit of splitting inventory to consumable and non-consumable
Browse files Browse the repository at this point in the history
  • Loading branch information
debnath-d committed Jul 13, 2020
1 parent 0274387 commit eab8280
Show file tree
Hide file tree
Showing 23 changed files with 1,246 additions and 122 deletions.
9 changes: 0 additions & 9 deletions .vscode/settings.json

This file was deleted.

4 changes: 3 additions & 1 deletion FusionIIIT/applications/estate_module/admin.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from django.contrib import admin
from .models import Building, Work, SubWork, Inventory, InventoryType
from .models import Building, Work, SubWork, Inventory, InventoryType, InventoryConsumable, InventoryNonConsumable

# Register your models here.

Expand All @@ -8,3 +8,5 @@
admin.site.register(SubWork)
admin.site.register(InventoryType)
admin.site.register(Inventory)
admin.site.register(InventoryConsumable)
admin.site.register(InventoryNonConsumable)
76 changes: 75 additions & 1 deletion FusionIIIT/applications/estate_module/forms.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from django.forms import ModelForm, Textarea, TextInput, DateInput, NumberInput
from .models import Building, Work, SubWork, InventoryType, Inventory
from .models import Building, Work, SubWork, InventoryType, Inventory, InventoryConsumable, InventoryNonConsumable


class BuildingForm(ModelForm):
Expand Down Expand Up @@ -217,3 +217,77 @@ class Meta:
'dateReceived': 'Date Received',
'remarks': 'Remarks',
}


class InventoryConsumableForm(ModelForm):
class Meta:
model = InventoryConsumable
fields = '__all__'
widgets = {
'quantity': NumberInput(attrs={
'placeholder': 'Enter quantity',
'type': 'text',
}),
'presentQuantity': NumberInput(attrs={
'placeholder': 'Enter present quantity',
'type': 'text',
}),
'dateOrdered': DateInput(attrs={
'placeholder': 'Enter date',
}),
'dateReceived': DateInput(attrs={
'placeholder': 'Enter date',
}),
'remarks': Textarea(attrs={
'placeholder': 'Enter remarks'
}),
}
labels = {
'inventoryType': 'Inventory Type',
'building': 'Building',
'work': 'Work',
'quantity': 'Quantity',
'presentQuantity': 'Present Quantity',
'dateOrdered': 'Date Ordered',
'dateReceived': 'Date Received',
'remarks': 'Remarks',
}


class InventoryNonConsumableForm(ModelForm):
class Meta:
model = InventoryNonConsumable
fields = '__all__'
widgets = {
'serial_no': TextInput(attrs={
'placeholder': 'Enter Serial Number'
}),
'quantity': NumberInput(attrs={
'placeholder': 'Enter quantity',
'type': 'text',
}),
'dateOrdered': DateInput(attrs={
'placeholder': 'Enter date',
}),
'dateReceived': DateInput(attrs={
'placeholder': 'Enter date',
}),
'dateLastVerified': DateInput(attrs={
'placeholder': 'Enter date',
}),
'remarks': Textarea(attrs={
'placeholder': 'Enter remarks'
}),
}
labels = {
'inventoryType': 'Inventory Type',
'serial_no': 'Serial Number',
'building': 'Building',
'work': 'Work',
'issued_to': 'Issued to',
'quantity': 'Quantity',
'dateOrdered': 'Date Ordered',
'dateReceived': 'Date Received',
'dateLastVerified': 'Date Last Verified',
'remarks': 'Remarks',
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Generated by Django 3.0.7 on 2020-07-11 15:32

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

dependencies = [
('estate_module', '0001_initial'),
]

operations = [
migrations.CreateModel(
name='InventoryNonConsumable',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('quantity', models.IntegerField()),
('dateOrdered', models.DateField()),
('dateReceived', models.DateField(blank=True, null=True)),
('remarks', models.TextField(blank=True, null=True)),
('serial_no', models.CharField(max_length=20)),
('dateLastVerified', models.DateField()),
('building', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='estate_module.Building')),
('inventoryType', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='estate_module.InventoryType')),
('work', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='estate_module.Work')),
],
options={
'ordering': ['-id'],
'abstract': False,
},
),
migrations.CreateModel(
name='InventoryConsumable',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('quantity', models.IntegerField()),
('dateOrdered', models.DateField()),
('dateReceived', models.DateField(blank=True, null=True)),
('remarks', models.TextField(blank=True, null=True)),
('presentQuantity', models.IntegerField()),
('building', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='estate_module.Building')),
('inventoryType', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='estate_module.InventoryType')),
('work', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='estate_module.Work')),
],
options={
'ordering': ['-id'],
'abstract': False,
},
),
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Generated by Django 3.0.7 on 2020-07-11 15:52

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('estate_module', '0002_inventoryconsumable_inventorynonconsumable'),
]

operations = [
migrations.AddField(
model_name='inventorynonconsumable',
name='issued_to',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to=settings.AUTH_USER_MODEL),
),
]
35 changes: 35 additions & 0 deletions FusionIIIT/applications/estate_module/models.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from django.conf import settings
from django.db import models

# Create your models here.
Expand Down Expand Up @@ -129,3 +130,37 @@ class Meta:

def __str__(self):
return self.inventoryType.name


class InventoryCommon(models.Model):

inventoryType = models.ForeignKey(InventoryType, on_delete=models.CASCADE)
building = models.ForeignKey(
Building, on_delete=models.CASCADE, null=True, blank=True)
work = models.ForeignKey(
Work, on_delete=models.CASCADE, null=True, blank=True)
quantity = models.IntegerField()
dateOrdered = models.DateField()
dateReceived = models.DateField(null=True, blank=True)
remarks = models.TextField(null=True, blank=True)

def cost(self):
return self.quantity * self.inventoryType.rate

def __str__(self):
return self.inventoryType.name

class Meta:
abstract = True
ordering = ['-id']


class InventoryConsumable(InventoryCommon):
presentQuantity = models.IntegerField()


class InventoryNonConsumable(InventoryCommon):
serial_no = models.CharField(max_length=20)
dateLastVerified = models.DateField()
issued_to = models.ForeignKey(
settings.AUTH_USER_MODEL, on_delete=models.SET_NULL, null=True, blank=True)
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ function newNotification() {
headerAnchor.className = 'ui header';

var userAvatar = document.createElement('img');
userAvatar.src = "{% static 'globals/img/zlatan.jpg' %}";
userAvatar.src = '/static/globals/img/zlatan.jpg';
userAvatar.className = 'ui circular image right floated';

var dividerDiv = document.createElement('div');
Expand Down
12 changes: 12 additions & 0 deletions FusionIIIT/applications/estate_module/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,16 @@
views.editInventory, name="edit_inventory"),
path('delete/inventory/<inventory_id>',
views.deleteInventory, name="delete_inventory"),
path('new/inventory_consumable', views.newInventoryConsumable,
name="new_inventory_consumable"),
path('edit/inventory_consumable/<inventory_consumable_id>',
views.editInventoryConsumable, name="edit_inventory_consumable"),
path('delete/inventory_consumable/<inventory_consumable_id>',
views.deleteInventoryConsumable, name="delete_inventory_consumable"),
path('new/inventory_non_consumable', views.newInventoryNonConsumable,
name="new_inventory_non_consumable"),
path('edit/inventory_non_consumable/<inventory_non_consumable_id>',
views.editInventoryNonConsumable, name="edit_inventory_non_consumable"),
path('delete/inventory_non_consumable/<inventory_non_consumable_id>',
views.deleteInventoryNonConsumable, name="delete_inventory_non_consumable"),
]
Loading

0 comments on commit eab8280

Please sign in to comment.