mirror of
https://github.com/Part-DB/Part-DB-server.git
synced 2026-05-22 11:21:31 +00:00
Split up default eda visibility for parameters and purchase infos
This commit is contained in:
parent
ff8ab26fb0
commit
854dc41bd7
3 changed files with 44 additions and 27 deletions
|
|
@ -47,9 +47,6 @@ class KiCadHelper
|
||||||
/** @var bool Whether to resolve actual datasheet PDF URLs (true) or use Part-DB page links (false) */
|
/** @var bool Whether to resolve actual datasheet PDF URLs (true) or use Part-DB page links (false) */
|
||||||
private readonly bool $datasheetAsPdf;
|
private readonly bool $datasheetAsPdf;
|
||||||
|
|
||||||
/** @var bool The system-wide default for EDA visibility when not explicitly set on an element */
|
|
||||||
private readonly bool $defaultEdaVisibility;
|
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
private readonly NodesListBuilder $nodesListBuilder,
|
private readonly NodesListBuilder $nodesListBuilder,
|
||||||
private readonly TagAwareCacheInterface $kicadCache,
|
private readonly TagAwareCacheInterface $kicadCache,
|
||||||
|
|
@ -58,11 +55,10 @@ class KiCadHelper
|
||||||
private readonly UrlGeneratorInterface $urlGenerator,
|
private readonly UrlGeneratorInterface $urlGenerator,
|
||||||
private readonly EntityURLGenerator $entityURLGenerator,
|
private readonly EntityURLGenerator $entityURLGenerator,
|
||||||
private readonly TranslatorInterface $translator,
|
private readonly TranslatorInterface $translator,
|
||||||
KiCadEDASettings $kiCadEDASettings,
|
private readonly KiCadEDASettings $kiCadEDASettings,
|
||||||
) {
|
) {
|
||||||
$this->category_depth = $kiCadEDASettings->categoryDepth;
|
$this->category_depth = $kiCadEDASettings->categoryDepth;
|
||||||
$this->datasheetAsPdf = $kiCadEDASettings->datasheetAsPdf ?? true;
|
$this->datasheetAsPdf = $kiCadEDASettings->datasheetAsPdf ?? true;
|
||||||
$this->defaultEdaVisibility = $kiCadEDASettings->defaultEdaVisibility;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -294,7 +290,7 @@ class KiCadHelper
|
||||||
foreach ($allOrderdetails as $orderdetail) {
|
foreach ($allOrderdetails as $orderdetail) {
|
||||||
if ($orderdetail->getSupplier() !== null && $orderdetail->getSupplierPartNr() !== '') {
|
if ($orderdetail->getSupplier() !== null && $orderdetail->getSupplierPartNr() !== '') {
|
||||||
// When explicit flags exist, filter by resolved visibility
|
// When explicit flags exist, filter by resolved visibility
|
||||||
$resolvedVisibility = $orderdetail->isEdaVisibility() ?? $this->defaultEdaVisibility;
|
$resolvedVisibility = $orderdetail->isEdaVisibility() ?? $this->kiCadEDASettings->defaultOrderdetailsVisibility;
|
||||||
if ($hasExplicitEdaVisibility && !$resolvedVisibility) {
|
if ($hasExplicitEdaVisibility && !$resolvedVisibility) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
@ -339,7 +335,7 @@ class KiCadHelper
|
||||||
|
|
||||||
//Add parameters marked for EDA export (explicit true, or system default when null)
|
//Add parameters marked for EDA export (explicit true, or system default when null)
|
||||||
foreach ($part->getParameters() as $parameter) {
|
foreach ($part->getParameters() as $parameter) {
|
||||||
$paramVisibility = $parameter->isEdaVisibility() ?? $this->defaultEdaVisibility;
|
$paramVisibility = $parameter->isEdaVisibility() ?? $this->kiCadEDASettings->defaultParameterVisibility;
|
||||||
if ($paramVisibility && $parameter->getName() !== '') {
|
if ($paramVisibility && $parameter->getName() !== '') {
|
||||||
$fieldName = $parameter->getName();
|
$fieldName = $parameter->getName();
|
||||||
//Don't overwrite hardcoded fields
|
//Don't overwrite hardcoded fields
|
||||||
|
|
@ -515,4 +511,4 @@ class KiCadHelper
|
||||||
UrlGeneratorInterface::ABSOLUTE_URL
|
UrlGeneratorInterface::ABSOLUTE_URL
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,12 +45,21 @@ class KiCadEDASettings
|
||||||
public int $categoryDepth = 0;
|
public int $categoryDepth = 0;
|
||||||
|
|
||||||
#[SettingsParameter(label: new TM("settings.misc.kicad_eda.datasheet_link"),
|
#[SettingsParameter(label: new TM("settings.misc.kicad_eda.datasheet_link"),
|
||||||
description: new TM("settings.misc.kicad_eda.datasheet_link.help"),
|
description: new TM("settings.misc.kicad_eda.datasheet_link.help")
|
||||||
envVar: "bool:EDA_KICAD_DATASHEET_AS_PDF", envVarMode: EnvVarMode::OVERWRITE)]
|
)]
|
||||||
public ?bool $datasheetAsPdf = true;
|
public ?bool $datasheetAsPdf = true;
|
||||||
|
|
||||||
#[SettingsParameter(label: new TM("settings.misc.kicad_eda.default_eda_visibility"),
|
#[SettingsParameter(
|
||||||
description: new TM("settings.misc.kicad_eda.default_eda_visibility.help"),
|
label: new TM("settings.misc.kicad_eda.default_parameter_visibility"),
|
||||||
envVar: "bool:EDA_KICAD_DEFAULT_VISIBILITY", envVarMode: EnvVarMode::OVERWRITE)]
|
description: new TM("settings.misc.kicad_eda.default_parameter_visibility.help"),
|
||||||
public bool $defaultEdaVisibility = false;
|
|
||||||
}
|
)]
|
||||||
|
public bool $defaultParameterVisibility = false;
|
||||||
|
|
||||||
|
#[SettingsParameter(
|
||||||
|
label: new TM("settings.misc.kicad_eda.default_orderdetails_visibility"),
|
||||||
|
description: new TM("settings.misc.kicad_eda.default_orderdetails_visibility.help"),
|
||||||
|
|
||||||
|
)]
|
||||||
|
public bool $defaultOrderdetailsVisibility = false;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -10005,18 +10005,6 @@ Please note, that you can not impersonate a disabled user. If you try you will g
|
||||||
<target>When enabled, the datasheet field in KiCad will link to the actual PDF file (if found). When disabled, it will link to the Part-DB page instead. The Part-DB page link is always available as a separate "Part-DB URL" field.</target>
|
<target>When enabled, the datasheet field in KiCad will link to the actual PDF file (if found). When disabled, it will link to the Part-DB page instead. The Part-DB page link is always available as a separate "Part-DB URL" field.</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
<unit id="SzYLUxS" name="settings.misc.kicad_eda.default_eda_visibility">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.misc.kicad_eda.default_eda_visibility</source>
|
|
||||||
<target>Default EDA visibility</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="FqRsTQy" name="settings.misc.kicad_eda.default_eda_visibility.help">
|
|
||||||
<segment state="translated">
|
|
||||||
<source>settings.misc.kicad_eda.default_eda_visibility.help</source>
|
|
||||||
<target>Default EDA visibility for parameters and orderdetails that have no explicit value set. When enabled, all parameters and supplier part numbers will be exported to EDA by default.</target>
|
|
||||||
</segment>
|
|
||||||
</unit>
|
|
||||||
<unit id="VwvmcWE" name="settings.behavior.sidebar">
|
<unit id="VwvmcWE" name="settings.behavior.sidebar">
|
||||||
<segment state="translated">
|
<segment state="translated">
|
||||||
<source>settings.behavior.sidebar</source>
|
<source>settings.behavior.sidebar</source>
|
||||||
|
|
@ -12659,5 +12647,29 @@ Buerklin-API Authentication server:
|
||||||
<target>Last stocktake</target>
|
<target>Last stocktake</target>
|
||||||
</segment>
|
</segment>
|
||||||
</unit>
|
</unit>
|
||||||
|
<unit id="s1pgReC" name="settings.misc.kicad_eda.default_parameter_visibility">
|
||||||
|
<segment>
|
||||||
|
<source>settings.misc.kicad_eda.default_parameter_visibility</source>
|
||||||
|
<target>Default EDA visibility of parameters</target>
|
||||||
|
</segment>
|
||||||
|
</unit>
|
||||||
|
<unit id="Z78QunV" name="settings.misc.kicad_eda.default_parameter_visibility.help">
|
||||||
|
<segment>
|
||||||
|
<source>settings.misc.kicad_eda.default_parameter_visibility.help</source>
|
||||||
|
<target>EDA visibility for all [part] parameters who does not have an explicit visibility set. When enabled all parameters will be visible in the EDA software by default.</target>
|
||||||
|
</segment>
|
||||||
|
</unit>
|
||||||
|
<unit id="J6pYnaC" name="settings.misc.kicad_eda.default_orderdetails_visibility">
|
||||||
|
<segment>
|
||||||
|
<source>settings.misc.kicad_eda.default_orderdetails_visibility</source>
|
||||||
|
<target>Default EDA visibility of purchase infos</target>
|
||||||
|
</segment>
|
||||||
|
</unit>
|
||||||
|
<unit id="Hiye4C." name="settings.misc.kicad_eda.default_orderdetails_visibility.help">
|
||||||
|
<segment>
|
||||||
|
<source>settings.misc.kicad_eda.default_orderdetails_visibility.help</source>
|
||||||
|
<target>EDA visibility for all purchase infos who does not have an explicit visibility set. When enabled all purchase infos will be visible in the EDA software by default.</target>
|
||||||
|
</segment>
|
||||||
|
</unit>
|
||||||
</file>
|
</file>
|
||||||
</xliff>
|
</xliff>
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue