add: fix bug and add user field for income contract list api
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
# Generated by Django 5.2.4 on 2025-09-15 14:43
|
||||
|
||||
import django.db.models.deletion
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('finance', '0022_expencecontract_paid_price'),
|
||||
('projects', '0016_estimatework_employee_estimatework_end_date_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='expencecontract',
|
||||
name='project_folder',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='expence_contracts', to='projects.projectfolder'),
|
||||
),
|
||||
]
|
||||
@@ -9,7 +9,7 @@ from core.apps.counterparty.models import Counterparty
|
||||
class ExpenceContract(BaseModel):
|
||||
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='expence_contracts')
|
||||
project_folder = models.ForeignKey(
|
||||
'projects.ProjectFolder', on_delete=models.CASCADE, related_name='expence_contracts'
|
||||
'projects.ProjectFolder', on_delete=models.CASCADE, related_name='expence_contracts', null=True, blank=True
|
||||
)
|
||||
project = models.ForeignKey(
|
||||
'projects.Project', on_delete=models.SET_NULL, related_name='expence_contracts', null=True, blank=True
|
||||
|
||||
@@ -15,9 +15,15 @@ class IncomeContractSerializer(serializers.ModelSerializer):
|
||||
model = IncomeContract
|
||||
fields = [
|
||||
'id', 'project_folder', 'project', 'income_type', 'counterparty', 'price', 'currency',
|
||||
'date', 'comment'
|
||||
'date', 'comment' , 'user'
|
||||
]
|
||||
extra_kwargs = {'id': {'read_only': True}}
|
||||
|
||||
def get_user(self, obj):
|
||||
return {
|
||||
'id': obj.user.id,
|
||||
'full_name': obj.user.full_name,
|
||||
}
|
||||
|
||||
def get_counterparty(self, obj):
|
||||
return {
|
||||
|
||||
@@ -41,7 +41,7 @@ class IncomeContractCreateApiView(generics.GenericAPIView):
|
||||
class IncomeContractListApiView(generics.GenericAPIView):
|
||||
serializer_class = IncomeContractSerializer
|
||||
queryset = IncomeContract.objects.select_related(
|
||||
'project_folder', 'project', 'income_type', 'counterparty',
|
||||
'project_folder', 'project', 'income_type', 'counterparty', 'user'
|
||||
)
|
||||
permission_classes = [HasRolePermission]
|
||||
filter_backends = [DjangoFilterBackend, filters.SearchFilter]
|
||||
|
||||
Reference in New Issue
Block a user