2
0
mirror of https://github.com/inventree/InvenTree.git synced 2025-06-20 22:06:28 +00:00

Now loading data! Still need to be bonified

This commit is contained in:
eeintech
2020-09-29 16:49:53 -05:00
parent d05a5978a0
commit 40d8a07acc
4 changed files with 47 additions and 103 deletions

View File

@ -112,18 +112,38 @@ class PartCategory(InvenTreeTree):
return self.partcount() > 0
def get_unique_parameters(self, cascade=True):
""" Get all parameters for all parts from this category """
parameters = []
""" Get all unique parameter names for all parts from this category """
unique_parameters_names = []
parts = self.get_parts(cascade=cascade).prefetch_related('parameters', 'parameters__template')
for part in parts:
for parameter in part.parameters.all():
template_name = parameter.template.name
if template_name not in parameters:
parameters.append(template_name)
parameter_name = parameter.template.name
if parameter_name not in unique_parameters_names:
unique_parameters_names.append(parameter_name)
return parameters
return unique_parameters_names
def get_parts_parameters(self, cascade=True):
""" Get all parameter names and values for all parts from this category """
category_parameters = []
parts = self.get_parts(cascade=cascade).prefetch_related('parameters', 'parameters__template')
for part in parts:
part_parameters = {
'IPN': part.IPN,
'Name': part.name,
}
for parameter in part.parameters.all():
parameter_name = parameter.template.name
parameter_value = parameter.data
part_parameters[parameter_name] = parameter_value
category_parameters.append(part_parameters)
return category_parameters
@receiver(pre_delete, sender=PartCategory, dispatch_uid='partcategory_delete_log')

View File

@ -16,16 +16,10 @@
loadParametricPartTable(
"#parametric-part-table",
"{% url 'api-part-list' %}",
{
params: {
{% if category %}category: {{ category.id }},
{% else %}category: "null",
{% endif %}
},
headers: {{ parameters|safe }},
name: 'parametric',
},
{
headers: {{ headers|safe }},
data: {{ parameters|safe }},
}
);
{% endblock %}

View File

@ -1898,8 +1898,10 @@ class CategoryParametric(CategoryDetail):
context = super(CategoryParametric, self).get_context_data(**kwargs).copy()
category = kwargs['object']
context['parameters'] = category.get_unique_parameters()
print(context)
context['headers'] = category.get_unique_parameters()
context['headers'].append('IPN')
context['headers'].append('Name')
context['parameters'] = category.get_parts_parameters()
return context