Оптимизация рассылки при публикации.
This commit is contained in:
2025-03-09 17:27:35 +03:00
parent f3747a359b
commit d2a333c7cb
5 changed files with 37 additions and 39 deletions

View File

@@ -67,6 +67,8 @@ public class PublishComponent extends ComponentsServerPass<Component> {
ComponentPublicationInfoJson info=new ComponentPublicationInfoJson(target);
info.changeRecord = change_record;
info.needsUpdateMinimalVersion = f.fields.cbUpdateMinimalVersion.isSelected();
info.needsEmail = f.fields.cbNeedsBroadcast.isSelected();
info.needsSendFile =f.fields.cbForceMail.isSelected();
//--
return SendRequest(ServerCode.UpdateComponent, "",info);
}
@@ -77,41 +79,15 @@ public class PublishComponent extends ComponentsServerPass<Component> {
protected void performDone() throws Exception {
target.actual_version = target.version;
target.CheckIfNeedsUpdateOrPublish();
if ((f.Result != null)) {
version_mail_header = String.join(" ",
"Опубликована версия",
Utils_.DQuotes(target.version),
"компонента",
Utils_.DQuotes(target.getComponentType().getDescription()));
EmailMessage message =
new EmailMessage(version_mail_header,
f.Result
);
if (f.fields.cbForceMail.isSelected())
message.addAttachement(target.getFile());
//--
Pass unsafeEmail = new Email(){
@Override
public String getDescription() {
return "Рассылка по Email";
}
@Override
protected boolean isSafe() {
return false;
}
};
unsafeEmail.Do(message, Global.componentsServer.credentials_db.userAccounts.getActiveMails());
//---
if (target.getComponentType().equals(ComponentType.Sapfor_F) && f.fields.cbAssemblyOnServer.isSelected()) {
Global.mainModule.getUI().getMainWindow().FocusTesting();
Global.mainModule.getUI().getMainWindow().getTestingWindow().FocusSapforTesting();
Global.mainModule.getPass(PassCode.CompileServerSapfor).Do();
}
}
}
@Override
protected void showDone() throws Exception {
Global.components.refreshUpdatesStatus();
if (target.getComponentType().equals(ComponentType.Sapfor_F) && f.fields.cbAssemblyOnServer.isSelected()) {
Global.mainModule.getUI().getMainWindow().FocusTesting();
Global.mainModule.getUI().getMainWindow().getTestingWindow().FocusSapforTesting();
Global.mainModule.getPass(PassCode.CompileServerSapfor).Do();
}
}
}