Set Responsible User for a Part during creation or API (#4326)

* update dev reqs (#117)

* Fix/docker build (#118)

* update dev reqs

* install git?

* add responsible user to ui

* add responsible to serializer

* adapt helptexts

* Revert "Fix/docker build (#118)"

This reverts commit a91742842c.

* add responsible user to UI
This commit is contained in:
Matthias Mair 2023-02-12 12:38:59 +01:00 committed by GitHub
parent 75c82f4db4
commit 2fbbce1550
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 54 additions and 2 deletions

View File

@ -0,0 +1,20 @@
# Generated by Django 3.2.16 on 2023-02-09 23:52
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('users', '0005_owner_model'),
('build', '0037_build_priority'),
]
operations = [
migrations.AlterField(
model_name='build',
name='responsible',
field=models.ForeignKey(blank=True, help_text='User or group responsible for this build order', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='builds_responsible', to='users.owner', verbose_name='Responsible'),
),
]

View File

@ -282,7 +282,7 @@ class Build(MPTTModel, ReferenceIndexingMixin):
on_delete=models.SET_NULL,
blank=True, null=True,
verbose_name=_('Responsible'),
help_text=_('User responsible for this build order'),
help_text=_('User or group responsible for this build order'),
related_name='builds_responsible',
)

View File

@ -0,0 +1,21 @@
# Generated by Django 3.2.16 on 2023-02-09 23: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),
('part', '0094_alter_part_units'),
]
operations = [
migrations.AlterField(
model_name='part',
name='responsible',
field=models.ForeignKey(blank=True, help_text='User responsible for this part', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='parts_responible', to=settings.AUTH_USER_MODEL, verbose_name='Responsible'),
),
]

View File

@ -1003,7 +1003,7 @@ class Part(InvenTreeBarcodeMixin, MetadataMixin, MPTTModel):
creation_user = models.ForeignKey(User, on_delete=models.SET_NULL, blank=True, null=True, verbose_name=_('Creation User'), related_name='parts_created')
responsible = models.ForeignKey(User, on_delete=models.SET_NULL, blank=True, null=True, verbose_name=_('Responsible'), related_name='parts_responible')
responsible = models.ForeignKey(User, on_delete=models.SET_NULL, blank=True, null=True, verbose_name=_('Responsible'), help_text=_('User responsible for this part'), related_name='parts_responible')
last_stocktake = models.DateField(
blank=True, null=True,

View File

@ -621,6 +621,7 @@ class PartSerializer(RemoteImageMixin, InvenTreeModelSerializer):
'virtual',
'pricing_min',
'pricing_max',
'responsible',
# Fields only used for Part creation
'duplicate',

View File

@ -391,6 +391,13 @@
<td><a href="{{ part.link }}">{{ part.link }}</a>{% include "clip.html"%}</td>
</tr>
{% endif %}
{% if part.responsible %}
<tr>
<td><span class='fas fa-user'></span></td>
<td>{% trans "Responsible" %}</td>
<td> <span class='badge badge-right rounded-pill bg-dark'>{{ part.responsible }}</span></td>
</tr>
{% endif %}
</table>
</div>
</div>

View File

@ -124,6 +124,9 @@ function partFields(options={}) {
minimum_stock: {
icon: 'fa-boxes',
},
responsible: {
icon: 'fa-user',
},
component: {
default: global_settings.PART_COMPONENT,
group: 'attributes',