Files
raven/server/AyaNova/DataList/TestWidgetUserEmailDataList.cs
2020-01-22 19:13:18 +00:00

67 lines
3.0 KiB
C#

using System.Collections.Generic;
using AyaNova.Biz;
namespace AyaNova.DataList
{
internal class TestWidgetUserEmailDataList : AyaDataList
{
/*
Select awidget.id, awidget.name, auser.name, auser.id, auseroptions.emailaddress
from awidget
left outer join auser on (awidget.userid=auser.id)
left outer join auseroptions on (auser.id=auseroptions.userid)
order by auseroptions.emailaddress desc
*/
public TestWidgetUserEmailDataList()
{
ListKey = nameof(TestWidgetUserEmailDataList);
SQLFrom = "from awidget left outer join auser on (awidget.userid=auser.id) left outer join auseroptions on (auser.id=auseroptions.userid)";
FullListAllowedRoles = AuthorizationRoles.AllInternalStaff;//anyone but clients and subcontractors (just for test)
MiniListAllowedRoles = AuthorizationRoles.AllExceptCustomers;//anyone but clients who shouldn't see users email addresses (so can select on forms)
DefaultListObjectType = AyaType.Widget;
DefaultDataListDisplayTemplate = @"
{
""full"":[""widgetname"",""username"",""emailaddress"",""widgetactive""],
""mini"":[""widgetname"",""username"",""emailaddress""]
}
";
FieldDefinitions = new List<AyaDataListFieldDefinition>();
FieldDefinitions.Add(new AyaDataListFieldDefinition { FieldKey = "df", AyaObjectType = (int)AyaType.Widget, SqlIdColumnName = "awidget.id" });
FieldDefinitions.Add(new AyaDataListFieldDefinition
{
FieldKey = "widgetname",
LtKey = "WidgetName",
UiFieldDataType = (int)AyaUiFieldDataType.Text,
AyaObjectType = (int)AyaType.Widget,
SqlIdColumnName = "awidget.id",
SqlValueColumnName = "awidget.name"
});
FieldDefinitions.Add(new AyaDataListFieldDefinition
{
FieldKey = "username",
LtKey = "User",
UiFieldDataType = (int)AyaUiFieldDataType.Text,
AyaObjectType = (int)AyaType.User,
SqlIdColumnName = "auser.id",
SqlValueColumnName = "auser.name"
});
FieldDefinitions.Add(new AyaDataListFieldDefinition
{
LtKey = "UserEmailAddress",
FieldKey = "emailaddress",
SqlValueColumnName = "auseroptions.emailaddress",
UiFieldDataType = (int)AyaUiFieldDataType.EmailAddress
});
FieldDefinitions.Add(new AyaDataListFieldDefinition
{
LtKey = "Active",
FieldKey = "widgetactive",
SqlValueColumnName = "awidget.active",
UiFieldDataType = (int)AyaUiFieldDataType.Bool
});
}
}//eoc
}//eons