Source code for tcms.rpc.api.forms.testcase
from django import forms
from tcms.core.forms.fields import UserField
from tcms.rpc.api.forms import DateTimeFieldWithDefault, UpdateModelFormMixin
from tcms.testcases.models import (
BugSystem,
Category,
Template,
TestCase,
TestCaseStatus,
)
[docs]
class NewForm(forms.ModelForm):
create_date = DateTimeFieldWithDefault(required=False)
[docs]
class Meta:
model = TestCase
exclude = ( # pylint: disable=modelform-uses-exclude
"reviewer",
"tag",
"component",
"plan",
)
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["author"].queryset = tenant_users
self.fields["default_tester"].queryset = tenant_users
[docs]
class UpdateForm(UpdateModelFormMixin, forms.ModelForm):
[docs]
class Meta:
model = TestCase
exclude = ("tag", "component", "plan") # pylint: disable=modelform-uses-exclude
default_tester = UserField()
author = UserField()
reviewer = 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"
):
tenant_users = request.tenant.authorized_users.all()
self.fields["author"].queryset = tenant_users
self.fields["default_tester"].queryset = tenant_users
self.fields["reviewer"].queryset = tenant_users