Source code for tcms.rpc.api.forms.testrun

from django import forms

from tcms.core.forms.fields import UserField
from tcms.management.models import Build
from tcms.rpc.api.forms import DateTimeField, UpdateModelFormMixin
from tcms.testruns.models import (
    Environment,
    TestExecution,
    TestExecutionStatus,
    TestRun,
)


[docs] class UpdateForm(UpdateModelFormMixin, forms.ModelForm):
[docs] class Meta: model = TestRun exclude = ("tag", "cc") # pylint: disable=modelform-uses-exclude
manager = UserField() default_tester = UserField() start_date = DateTimeField() stop_date = DateTimeField() planned_start = DateTimeField() planned_stop = DateTimeField() def __init__(self, *args, **kwargs): request = kwargs.pop("request", None) super().__init__(*args, **kwargs) if ( request and hasattr(request, "tenant") and request.tenant.schema_name != "public" ): tenant_users = request.tenant.authorized_users.all() self.fields["manager"].queryset = tenant_users self.fields["default_tester"].queryset = tenant_users
[docs] def populate(self, version_id): self.fields["build"].queryset = Build.objects.filter( version_id=version_id, is_active=True )
[docs] class NewExecutionForm(forms.ModelForm):
[docs] class Meta: model = TestExecution exclude = ("tag",) # pylint: disable=modelform-uses-exclude
assignee = UserField(required=False) tested_by = UserField(required=False) stop_date = DateTimeField(required=False) start_date = DateTimeField(required=False) def __init__(self, *args, **kwargs): request = kwargs.pop("request", None) super().__init__(*args, **kwargs) if ( request and hasattr(request, "tenant") and request.tenant.schema_name != "public" ): tenant_users = request.tenant.authorized_users.all() self.fields["assignee"].queryset = tenant_users self.fields["tested_by"].queryset = tenant_users
[docs] class UpdateExecutionForm( # pylint: disable=remove-empty-class,too-many-ancestors UpdateModelFormMixin, NewExecutionForm ): pass
[docs] class UserForm(forms.Form): # pylint: disable=must-inherit-from-model-form user = UserField() def __init__(self, *args, **kwargs): request = kwargs.pop("request", None) super().__init__(*args, **kwargs) if ( request and hasattr(request, "tenant") and request.tenant.schema_name != "public" ): self.fields["user"].queryset = request.tenant.authorized_users.all()
[docs] class EnvironmentForm(forms.ModelForm):
[docs] class Meta: model = Environment fields = "__all__"
[docs] class TestExecutionStatusForm(forms.ModelForm):
[docs] class Meta: model = TestExecutionStatus fields = "__all__"