fix(overriderules): allow override rules only when the service is created (#1259)

If you setup an override rule on a service that is not created yet, the override rule doesn't get
added to the service because it has no ID, but a record for that override rule is nonthless created.
This PR allows override rules only when the service is setup.
This commit is contained in:
Gauthier
2025-01-15 17:08:31 +01:00
committed by GitHub
parent 71143ca76b
commit ce1b39f73b
2 changed files with 72 additions and 64 deletions

View File

@@ -773,38 +773,42 @@ const RadarrModal = ({
</div> </div>
</div> </div>
</div> </div>
<h3 className="mb-4 text-xl font-bold leading-8 text-gray-100"> {radarr && (
{intl.formatMessage(messages.overrideRules)} <>
</h3> <h3 className="mb-4 text-xl font-bold leading-8 text-gray-100">
<ul className="grid gap-x-4 gap-y-8 sm:grid-cols-3 sm:gap-x-6 sm:gap-y-6 lg:grid-cols-2"> {intl.formatMessage(messages.overrideRules)}
{rules && ( </h3>
<OverrideRuleTile <ul className="grid gap-x-4 gap-y-8 sm:grid-cols-3 sm:gap-x-6 sm:gap-y-6 lg:grid-cols-2">
rules={rules} {rules && (
setOverrideRuleModal={setOverrideRuleModal} <OverrideRuleTile
testResponse={testResponse} rules={rules}
radarr={radarr} setOverrideRuleModal={setOverrideRuleModal}
revalidate={revalidate} testResponse={testResponse}
/> radarr={radarr}
)} revalidate={revalidate}
<li className="min-h-[8rem] rounded-lg border-2 border-dashed border-gray-400 shadow sm:min-h-[11rem]"> />
<div className="flex h-full w-full items-center justify-center"> )}
<Button <li className="min-h-[8rem] rounded-lg border-2 border-dashed border-gray-400 shadow sm:min-h-[11rem]">
buttonType="ghost" <div className="flex h-full w-full items-center justify-center">
onClick={() => <Button
setOverrideRuleModal({ buttonType="ghost"
open: true, onClick={() =>
rule: null, setOverrideRuleModal({
testResponse, open: true,
}) rule: null,
} testResponse,
disabled={!isValidated} })
> }
<PlusIcon /> disabled={!isValidated}
<span>{intl.formatMessage(messages.addrule)}</span> >
</Button> <PlusIcon />
</div> <span>{intl.formatMessage(messages.addrule)}</span>
</li> </Button>
</ul> </div>
</li>
</ul>
</>
)}
</Modal> </Modal>
); );
}} }}

View File

@@ -1070,38 +1070,42 @@ const SonarrModal = ({
</div> </div>
</div> </div>
</div> </div>
<h3 className="mb-4 text-xl font-bold leading-8 text-gray-100"> {sonarr && (
{intl.formatMessage(messages.overrideRules)} <>
</h3> <h3 className="mb-4 text-xl font-bold leading-8 text-gray-100">
<ul className="grid gap-x-4 gap-y-8 sm:grid-cols-3 sm:gap-x-6 sm:gap-y-6 lg:grid-cols-2"> {intl.formatMessage(messages.overrideRules)}
{rules && ( </h3>
<OverrideRuleTile <ul className="grid gap-x-4 gap-y-8 sm:grid-cols-3 sm:gap-x-6 sm:gap-y-6 lg:grid-cols-2">
rules={rules} {rules && (
setOverrideRuleModal={setOverrideRuleModal} <OverrideRuleTile
testResponse={testResponse} rules={rules}
sonarr={sonarr} setOverrideRuleModal={setOverrideRuleModal}
revalidate={revalidate} testResponse={testResponse}
/> sonarr={sonarr}
)} revalidate={revalidate}
<li className="min-h-[8rem] rounded-lg border-2 border-dashed border-gray-400 shadow sm:min-h-[11rem]"> />
<div className="flex h-full w-full items-center justify-center"> )}
<Button <li className="min-h-[8rem] rounded-lg border-2 border-dashed border-gray-400 shadow sm:min-h-[11rem]">
buttonType="ghost" <div className="flex h-full w-full items-center justify-center">
onClick={() => <Button
setOverrideRuleModal({ buttonType="ghost"
open: true, onClick={() =>
rule: null, setOverrideRuleModal({
testResponse, open: true,
}) rule: null,
} testResponse,
disabled={!isValidated} })
> }
<PlusIcon /> disabled={!isValidated}
<span>{intl.formatMessage(messages.addrule)}</span> >
</Button> <PlusIcon />
</div> <span>{intl.formatMessage(messages.addrule)}</span>
</li> </Button>
</ul> </div>
</li>
</ul>
</>
)}
</Modal> </Modal>
); );
}} }}