Skip to content

Commit

Permalink
Added new features / Bug fixed
Browse files Browse the repository at this point in the history
・APIで画像を挿入する機能を追加。
・サービスのアナウンスを表示する機能を追加。
・BackgroundServiceの各機能を有効化する設定を環境変数からも取得できる機能を追加。
・プロセスの入力検証で入力必須以外の入力検証が指定されているものは一括処理できない仕様に変更。
・プロセスの一括処理で入力必須項目が入力されていないレコードを表示しない仕様に変更。
・プロセスの一括処理で権限によって一覧にチェックボックスが表示されない問題を解消。
・リマインダーの項目に日付項目を選択した際に「期限切れを送信しない」の範囲が正しく判定されない問題を解消。
・数値項目のフィルタで未設定の否定条件が正しく動作しない問題を解消。
・文字列項目のフィルタで未設定の否定条件が正しく動作しない問題を解消。
・日付項目のフィルタで未設定の否定条件が正しく動作しない問題を解消。
・プロセスの実行種別が作成または更新の場合に条件に一致しない通知が送信される問題を解消。
・新規作成画面で入力検証エラー後に自動ポストバックによるルックアップが動作しない問題を解消。
・完了項目を含まない期限付きテーブルのサイトパッケージがインポートできない問題を解消。
・ユーザ管理画面等で他のユーザが登録した画像が表示できない問題を解消。
・ビューのカンバンの設定で行の分類に分類なしが選択できない問題を解消。
・チェックボックスに入力必須マークが表示されない問題を解消。
・必須入力と読み取り専用をオンにした説明項目に必須入力マークが表示される問題を解消。
・プロセスのメッセージが条件の合致にかかわらず1番目のプロセスの設定内容で出力される問題を解消。
・自己参照リンク項目でタイトル結合を行うとタイトル作成時にStackOverflowが発生する問題を解消。
  • Loading branch information
implem-noro committed Dec 5, 2022
1 parent d2d623a commit d1fd101
Show file tree
Hide file tree
Showing 97 changed files with 1,509 additions and 422 deletions.
6 changes: 3 additions & 3 deletions Implem.CodeDefiner/Implem.CodeDefiner.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
<TargetFramework>net6.0</TargetFramework>
<Copyright>Copyright © Implem Inc 2014 - 2022</Copyright>
<Description>This program does the automatic code creation and merging of existing code based on the definition. Also it will make the configuration change of sql server database.</Description>
<AssemblyVersion>1.3.25.3</AssemblyVersion>
<FileVersion>1.3.25.3</FileVersion>
<Version>1.3.25.3</Version>
<AssemblyVersion>1.3.26.0</AssemblyVersion>
<FileVersion>1.3.26.0</FileVersion>
<Version>1.3.26.0</Version>
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
</PropertyGroup>

Expand Down
12 changes: 12 additions & 0 deletions Implem.DefinitionAccessor/Def.cs
Original file line number Diff line number Diff line change
Expand Up @@ -575,9 +575,11 @@ public static void SetCodeDefinition()
case "Model_SetByApi_ColumnCases": Code.Model_SetByApi_ColumnCases = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_SetByApi_ColumnCases, definitionRow, CodeXls); break;
case "Model_SetByApi_ColumnCasesGroupMembers": Code.Model_SetByApi_ColumnCasesGroupMembers = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_SetByApi_ColumnCasesGroupMembers, definitionRow, CodeXls); break;
case "Model_SetByApi_ColumnCasesSite": Code.Model_SetByApi_ColumnCasesSite = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_SetByApi_ColumnCasesSite, definitionRow, CodeXls); break;
case "Model_SetByApi_ImageHash": Code.Model_SetByApi_ImageHash = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_SetByApi_ImageHash, definitionRow, CodeXls); break;
case "Model_SetByApi_RecordPermissions": Code.Model_SetByApi_RecordPermissions = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_SetByApi_RecordPermissions, definitionRow, CodeXls); break;
case "Model_SetByApi_Site": Code.Model_SetByApi_Site = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_SetByApi_Site, definitionRow, CodeXls); break;
case "Model_SetByApiExec": Code.Model_SetByApiExec = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_SetByApiExec, definitionRow, CodeXls); break;
case "Model_SetByApiImages": Code.Model_SetByApiImages = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_SetByApiImages, definitionRow, CodeXls); break;
case "Model_SetByApiParameter": Code.Model_SetByApiParameter = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_SetByApiParameter, definitionRow, CodeXls); break;
case "Model_SetByCsvRow": Code.Model_SetByCsvRow = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_SetByCsvRow, definitionRow, CodeXls); break;
case "Model_SetByCsvRowColumnCases": Code.Model_SetByCsvRowColumnCases = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Model_SetByCsvRowColumnCases, definitionRow, CodeXls); break;
Expand Down Expand Up @@ -1002,6 +1004,7 @@ public static void SetCodeDefinition()
case "SiteSettings_GetModels_Items": Code.SiteSettings_GetModels_Items = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.SiteSettings_GetModels_Items, definitionRow, CodeXls); break;
case "SiteSettings_GetModels_Items_Choices": Code.SiteSettings_GetModels_Items_Choices = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.SiteSettings_GetModels_Items_Choices, definitionRow, CodeXls); break;
case "SiteSettings_GetModels_Items_SiteIntegration": Code.SiteSettings_GetModels_Items_SiteIntegration = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.SiteSettings_GetModels_Items_SiteIntegration, definitionRow, CodeXls); break;
case "SiteSettings_Users": Code.SiteSettings_Users = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.SiteSettings_Users, definitionRow, CodeXls); break;
case "Summaries": Code.Summaries = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Summaries, definitionRow, CodeXls); break;
case "Summaries_DataTablesCases": Code.Summaries_DataTablesCases = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Summaries_DataTablesCases, definitionRow, CodeXls); break;
case "Summaries_ParamCases": Code.Summaries_ParamCases = definitionRow[1].ToString().NoSpace(definitionRow["NoSpace"].ToBool()); SetCodeTable(CodeTable.Summaries_ParamCases, definitionRow, CodeXls); break;
Expand Down Expand Up @@ -1803,6 +1806,7 @@ public static void SetColumnDefinition()
case "Tenants_ContractDeadline": Column.Tenants_ContractDeadline = definitionRow[1].ToString(); SetColumnTable(ColumnTable.Tenants_ContractDeadline, definitionRow, ColumnXls); break;
case "Tenants_ContractSettings": Column.Tenants_ContractSettings = definitionRow[1].ToString(); SetColumnTable(ColumnTable.Tenants_ContractSettings, definitionRow, ColumnXls); break;
case "Tenants_DisableAllUsersPermission": Column.Tenants_DisableAllUsersPermission = definitionRow[1].ToString(); SetColumnTable(ColumnTable.Tenants_DisableAllUsersPermission, definitionRow, ColumnXls); break;
case "Tenants_DisableApi": Column.Tenants_DisableApi = definitionRow[1].ToString(); SetColumnTable(ColumnTable.Tenants_DisableApi, definitionRow, ColumnXls); break;
case "Tenants_DisableStartGuide": Column.Tenants_DisableStartGuide = definitionRow[1].ToString(); SetColumnTable(ColumnTable.Tenants_DisableStartGuide, definitionRow, ColumnXls); break;
case "Tenants_HtmlTitleRecord": Column.Tenants_HtmlTitleRecord = definitionRow[1].ToString(); SetColumnTable(ColumnTable.Tenants_HtmlTitleRecord, definitionRow, ColumnXls); break;
case "Tenants_HtmlTitleSite": Column.Tenants_HtmlTitleSite = definitionRow[1].ToString(); SetColumnTable(ColumnTable.Tenants_HtmlTitleSite, definitionRow, ColumnXls); break;
Expand Down Expand Up @@ -6872,9 +6876,11 @@ public class CodeColumn2nd
public string Model_SetByApi_ColumnCases;
public string Model_SetByApi_ColumnCasesGroupMembers;
public string Model_SetByApi_ColumnCasesSite;
public string Model_SetByApi_ImageHash;
public string Model_SetByApi_RecordPermissions;
public string Model_SetByApi_Site;
public string Model_SetByApiExec;
public string Model_SetByApiImages;
public string Model_SetByApiParameter;
public string Model_SetByCsvRow;
public string Model_SetByCsvRowColumnCases;
Expand Down Expand Up @@ -7299,6 +7305,7 @@ public class CodeColumn2nd
public string SiteSettings_GetModels_Items;
public string SiteSettings_GetModels_Items_Choices;
public string SiteSettings_GetModels_Items_SiteIntegration;
public string SiteSettings_Users;
public string Summaries;
public string Summaries_DataTablesCases;
public string Summaries_ParamCases;
Expand Down Expand Up @@ -7634,9 +7641,11 @@ public class CodeTable
public CodeDefinition Model_SetByApi_ColumnCases = new CodeDefinition();
public CodeDefinition Model_SetByApi_ColumnCasesGroupMembers = new CodeDefinition();
public CodeDefinition Model_SetByApi_ColumnCasesSite = new CodeDefinition();
public CodeDefinition Model_SetByApi_ImageHash = new CodeDefinition();
public CodeDefinition Model_SetByApi_RecordPermissions = new CodeDefinition();
public CodeDefinition Model_SetByApi_Site = new CodeDefinition();
public CodeDefinition Model_SetByApiExec = new CodeDefinition();
public CodeDefinition Model_SetByApiImages = new CodeDefinition();
public CodeDefinition Model_SetByApiParameter = new CodeDefinition();
public CodeDefinition Model_SetByCsvRow = new CodeDefinition();
public CodeDefinition Model_SetByCsvRowColumnCases = new CodeDefinition();
Expand Down Expand Up @@ -8061,6 +8070,7 @@ public class CodeTable
public CodeDefinition SiteSettings_GetModels_Items = new CodeDefinition();
public CodeDefinition SiteSettings_GetModels_Items_Choices = new CodeDefinition();
public CodeDefinition SiteSettings_GetModels_Items_SiteIntegration = new CodeDefinition();
public CodeDefinition SiteSettings_Users = new CodeDefinition();
public CodeDefinition Summaries = new CodeDefinition();
public CodeDefinition Summaries_DataTablesCases = new CodeDefinition();
public CodeDefinition Summaries_ParamCases = new CodeDefinition();
Expand Down Expand Up @@ -8883,6 +8893,7 @@ public class ColumnColumn2nd
public string Tenants_ContractDeadline;
public string Tenants_ContractSettings;
public string Tenants_DisableAllUsersPermission;
public string Tenants_DisableApi;
public string Tenants_DisableStartGuide;
public string Tenants_HtmlTitleRecord;
public string Tenants_HtmlTitleSite;
Expand Down Expand Up @@ -9418,6 +9429,7 @@ public class ColumnTable
public ColumnDefinition Tenants_ContractDeadline = new ColumnDefinition();
public ColumnDefinition Tenants_ContractSettings = new ColumnDefinition();
public ColumnDefinition Tenants_DisableAllUsersPermission = new ColumnDefinition();
public ColumnDefinition Tenants_DisableApi = new ColumnDefinition();
public ColumnDefinition Tenants_DisableStartGuide = new ColumnDefinition();
public ColumnDefinition Tenants_HtmlTitleRecord = new ColumnDefinition();
public ColumnDefinition Tenants_HtmlTitleSite = new ColumnDefinition();
Expand Down
6 changes: 3 additions & 3 deletions Implem.DefinitionAccessor/Implem.DefinitionAccessor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Copyright>Copyright © Implem Inc 2014 - 2022</Copyright>
<AssemblyVersion>1.3.25.3</AssemblyVersion>
<FileVersion>1.3.25.3</FileVersion>
<Version>1.3.25.3</Version>
<AssemblyVersion>1.3.26.0</AssemblyVersion>
<FileVersion>1.3.26.0</FileVersion>
<Version>1.3.26.0</Version>
<Nullable>disable</Nullable>
</PropertyGroup>

Expand Down
13 changes: 4 additions & 9 deletions Implem.DefinitionAccessor/Initializer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -181,6 +181,10 @@ public static void SetParameters()
Parameters.Security.AspNetCoreDataProtection.KeyIdentifier,
Environment.GetEnvironmentVariable($"{Parameters.Service.EnvironmentName}_Security_AspNetCoreDataProtection_KeyIdentifier"),
Environment.GetEnvironmentVariable($"{Parameters.Service.Name}_Security_AspNetCoreDataProtection_KeyIdentifier"));
Parameters.Service.DeploymentEnvironment = Strings.CoalesceEmpty(
Parameters.Service.DeploymentEnvironment,
Environment.GetEnvironmentVariable($"{Parameters.Service.EnvironmentName}_Service_DeploymentEnvironment"),
Environment.GetEnvironmentVariable($"{Parameters.Service.Name}_Service_DeploymentEnvironment"));
}

public static void ReloadParameters()
Expand Down Expand Up @@ -888,15 +892,6 @@ private static void SetColumnDefinitionAccessControl()
Def.ColumnDefinitionCollection.FirstOrDefault(o =>
o.Id == "Users_AllowGroupCreation").UpdateAccessControl = "ManageService";
}
if (!Parameters.User.DisableApi)
{
Def.ColumnDefinitionCollection.FirstOrDefault(o =>
o.Id == "Users_AllowApi").CreateAccessControl = "ManageService";
Def.ColumnDefinitionCollection.FirstOrDefault(o =>
o.Id == "Users_AllowApi").ReadAccessControl = "ManageService";
Def.ColumnDefinitionCollection.FirstOrDefault(o =>
o.Id == "Users_AllowApi").UpdateAccessControl = "ManageService";
}
switch (Parameters.Security.SecondaryAuthentication?.Mode)
{
case SecondaryAuthentication.SecondaryAuthenticationMode.None:
Expand Down
6 changes: 3 additions & 3 deletions Implem.DisplayAccessor/Implem.DisplayAccessor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Copyright>Copyright © Implem Inc 2014 - 2022</Copyright>
<AssemblyVersion>1.3.25.3</AssemblyVersion>
<FileVersion>1.3.25.3</FileVersion>
<Version>1.3.25.3</Version>
<AssemblyVersion>1.3.26.0</AssemblyVersion>
<FileVersion>1.3.26.0</FileVersion>
<Version>1.3.26.0</Version>
<Nullable>disable</Nullable>
</PropertyGroup>

Expand Down
6 changes: 3 additions & 3 deletions Implem.Factory/Implem.Factory.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Copyright>Copyright © Implem Inc 2014 - 2022</Copyright>
<AssemblyVersion>1.3.25.3</AssemblyVersion>
<FileVersion>1.3.25.3</FileVersion>
<Version>1.3.25.3</Version>
<AssemblyVersion>1.3.26.0</AssemblyVersion>
<FileVersion>1.3.26.0</FileVersion>
<Version>1.3.26.0</Version>
<Nullable>disable</Nullable>
</PropertyGroup>

Expand Down
6 changes: 3 additions & 3 deletions Implem.Libraries/Implem.Libraries.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Copyright>Copyright © Implem Inc 2014 - 2022</Copyright>
<AssemblyVersion>1.3.25.3</AssemblyVersion>
<FileVersion>1.3.25.3</FileVersion>
<Version>1.3.25.3</Version>
<AssemblyVersion>1.3.26.0</AssemblyVersion>
<FileVersion>1.3.26.0</FileVersion>
<Version>1.3.26.0</Version>
<Nullable>disable</Nullable>
</PropertyGroup>

Expand Down
6 changes: 3 additions & 3 deletions Implem.ParameterAccessor/Implem.ParameterAccessor.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Copyright>Copyright © Implem Inc 2014 - 2022</Copyright>
<AssemblyVersion>1.3.25.3</AssemblyVersion>
<FileVersion>1.3.25.3</FileVersion>
<Version>1.3.25.3</Version>
<AssemblyVersion>1.3.26.0</AssemblyVersion>
<FileVersion>1.3.26.0</FileVersion>
<Version>1.3.26.0</Version>
<Nullable>disable</Nullable>
</PropertyGroup>

Expand Down
26 changes: 22 additions & 4 deletions Implem.ParameterAccessor/Parts/BackgroundService.cs
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
using System.Collections.Generic;
using Implem.DefinitionAccessor;
using System.Collections.Generic;
using System.Linq;

namespace Implem.ParameterAccessor.Parts
{
public class BackgroundService
{
public List<string> EnvironmentVariables;
public bool Reminder;
public int ReminderIgnoreConsecutiveExceptionCount;
public bool SyncByLdap;
Expand All @@ -16,12 +19,27 @@ public class BackgroundService
public List<string> DeleteTrashBoxTime;
public int DeleteTrashBoxRetentionPeriod;

public bool TimerEnabled()
public bool TimerEnabled(string deploymentEnvironment)
{
return SyncByLdap
return ServiceEnabled(deploymentEnvironment)
&& (SyncByLdap
|| DeleteSysLogs
|| DeleteTemporaryFiles
|| DeleteTrashBox;
|| DeleteTrashBox);
}

public bool ReminderEnabled(string deploymentEnvironment)
{
return Reminder && ServiceEnabled(deploymentEnvironment);
}

private bool ServiceEnabled(string deploymentEnvironment)
{
if (EnvironmentVariables == null)
{
return true;
}
return EnvironmentVariables.Any(o => o == deploymentEnvironment);
}
}
}
2 changes: 2 additions & 0 deletions Implem.ParameterAccessor/Parts/Service.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,13 @@ public class Service
public string EnvironmentName;
public string TimeZoneDefault;
public string DefaultPassword;
public string DeploymentEnvironment;
public bool WithoutChangeDefaultPassword;
public string DefaultLanguage;
public string AbsoluteUri;
public long MaxRequestBodySize;
public bool RequireHttps;
public long AnnouncementSiteId;
public bool ShowProfiles;
public bool ShowChangePassword;
public bool ShowStartGuide;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ namespace Implem.Pleasanter.Models
public Dictionary<string, bool> SavedCheckHash = new Dictionary<string, bool>();
public Dictionary<string, Attachments> AttachmentsHash = new Dictionary<string, Attachments>();
public Dictionary<string, string> SavedAttachmentsHash = new Dictionary<string, string>();
public Dictionary<string, PostedFile> PostedImageHash = new Dictionary<string, PostedFile>();
public bool ReadOnly;
public List<string> MineCache;
[NonSerialized]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,7 @@ namespace Implem.Pleasanter.Models
<!--Model_CopyAndInit-->
<!--Model_SetByModel-->
<!--Model_SetByApi-->
<!--Model_SetByApiImages-->
<!--Model_SetByDataChanges-->
<!--Model_SetBySettings-->
<!--Model_SetByLookups-->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,25 @@
ss: ss,
notice: notice),
type: noticeType);
processes?.ForEach(process =>
process?.Notifications?.ForEach(notification =>
notification.Send(
context: context,
ss: ss,
title: ReplacedDisplayValues(
processes?
.Where(process => process.MatchConditions)
.ForEach(process =>
process?.Notifications?.ForEach(notification =>
notification.Send(
context: context,
ss: ss,
value: notification.Subject),
body: ReplacedDisplayValues(
context: context,
ss: ss,
value: notification.Body),
values: ss.IncludedColumns(notification.Address)
.ToDictionary(
column => column,
column => PropertyValue(
context: context,
column: column)))));
title: ReplacedDisplayValues(
context: context,
ss: ss,
value: notification.Subject),
body: ReplacedDisplayValues(
context: context,
ss: ss,
value: notification.Body),
values: ss.IncludedColumns(notification.Address)
.ToDictionary(
column => column,
column => PropertyValue(
context: context,
column: column)))));
}
Loading

0 comments on commit d1fd101

Please sign in to comment.