~launchpad-pqm/launchpad/devel

« back to all changes in this revision

Viewing changes to lib/lp/registry/interfaces/product.py

Merged db-devel into replication.

Show diffs side-by-side

added added

removed removed

Lines of Context:
114
114
    ICanGetMilestonesDirectly,
115
115
    IHasMilestones,
116
116
    )
 
117
from lp.registry.interfaces.oopsreferences import IHasOOPSReferences
117
118
from lp.registry.interfaces.pillar import IPillar
118
119
from lp.registry.interfaces.productrelease import IProductRelease
119
120
from lp.registry.interfaces.productseries import IProductSeries
414
415
    IHasMugshot, IHasOwner, IHasSecurityContact, IHasSprints,
415
416
    IHasTranslationImports, ITranslationPolicy, IKarmaContext,
416
417
    ILaunchpadUsage, IMakesAnnouncements, IOfficialBugTagTargetPublic,
417
 
    IPillar, ISpecificationTarget, IHasRecipes, IHasCodeImports,
418
 
    IServiceUsage):
 
418
    IHasOOPSReferences, IPillar, ISpecificationTarget, IHasRecipes,
 
419
    IHasCodeImports, IServiceUsage):
419
420
    """Public IProduct properties."""
420
421
 
421
422
    id = Int(title=_('The Project ID'))
440
441
        PersonChoice(
441
442
            title=_('Maintainer'),
442
443
            required=True,
443
 
            vocabulary='ValidOwner',
444
 
            description=_("The person or team who maintains the project "
445
 
                          "information in Launchpad.")))
 
444
            vocabulary='ValidPillarOwner',
 
445
            description=_("The restricted team, moderated team, or person "
 
446
                          "who maintains the project information in "
 
447
                          "Launchpad.")))
446
448
 
447
449
    registrant = exported(
448
450
        PublicPersonChoice(
917
919
        project_reviewed=Bool(title=_("Is the project license reviewed")),
918
920
        licenses=Set(title=_('Licenses'),
919
921
                       value_type=Choice(vocabulary=License)),
920
 
        license_info_is_empty=Bool(title=_("License info is empty")),
921
 
        has_zero_licenses=Bool(title=_("Has zero licenses")),
922
922
        created_after=Date(title=_("Created after date")),
923
923
        created_before=Date(title=_("Created before date")),
 
924
        has_subscription=Bool(title=_("Has a commercial subscription")),
924
925
        subscription_expires_after=Date(
925
926
            title=_("Subscription expires after")),
926
927
        subscription_expires_before=Date(
936
937
                  active=None,
937
938
                  project_reviewed=None,
938
939
                  licenses=None,
939
 
                  license_info_is_empty=None,
940
 
                  has_zero_licenses=None,
941
940
                  created_after=None,
942
941
                  created_before=None,
 
942
                  has_subscription=None,
943
943
                  subscription_expires_after=None,
944
944
                  subscription_expires_before=None,
945
945
                  subscription_modified_after=None,
1064
1064
        title=_('Project Approved'), values=[True, False],
1065
1065
        required=False, default=False)
1066
1066
 
1067
 
    license_info_is_empty = Choice(
1068
 
        title=_('Description of additional licenses'),
1069
 
        description=_('Either this field or any one of the selected licenses'
1070
 
                      ' must match.'),
1071
 
        vocabulary=emptiness_vocabulary, required=False, default=None)
1072
 
 
1073
1067
    licenses = Set(
1074
1068
        title=_('Licenses'),
1075
1069
        value_type=Choice(vocabulary=License),
1076
1070
        required=False,
1077
1071
        default=set())
1078
1072
 
1079
 
    has_zero_licenses = Choice(
1080
 
        title=_('Or has no license specified'),
 
1073
    has_subscription = Choice(
 
1074
        title=_('Has Commercial Subscription'),
1081
1075
        values=[True, False], required=False)
1082
1076
 
1083
1077
    created_after = Date(title=_("Created between"), required=False)