Skip to content

Commit

Permalink
Add news auto-subscribe (#571)
Browse files Browse the repository at this point in the history
* Add news auto subscribe

* Fix vendor code status updating
  • Loading branch information
iafb committed Sep 25, 2019
1 parent e8abac6 commit 8b64fb6
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 3 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/).
- Mission control button to update user triggers
- Redeem all button for household vendor codes
- Participant age to Group Vendor Code Report
- Add news auto subscribe permission

### Changed
- Script docker-build.bash to not build release images unless the branch starts with 'release/'
Expand Down
1 change: 1 addition & 0 deletions src/GRA.Domain.Model/Permission.cs
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ public enum Permission
ManageTriggers,
ManageTriggerMail,
ManageVendorCodes,
NewsAutoSubscribe,
PerformDrawing,
ReadAllMail,
RedeemBulkVendorCodes,
Expand Down
1 change: 1 addition & 0 deletions src/GRA.Domain.Model/Policy.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ public static class Policy
public const string ManageTriggerMail = "ManageTriggerMail";
public const string ManageTriggers = "ManageTriggers";
public const string ManageVendorCodes = "ManageVendorCodes";
public const string NewsAutoSubscribe = "NewsAutoSubscribe";
public const string PerformDrawing = "PerformDrawing";
public const string ReadAllMail = "ReadAllMail";
public const string RedeemBulkVendorCodes = "RedeemBulkVendorCodes";
Expand Down
18 changes: 16 additions & 2 deletions src/GRA.Domain.Service/UserService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -608,19 +608,33 @@ var authCode
}

user.IsAdmin = true;

if (!HasPermission(Permission.NewsAutoSubscribe))
{
var rolePermissions = (await _roleRepository
.GetPermissionNamesForRoleAsync(authCode.RoleId)).ToList();

if (rolePermissions.Contains(Permission.NewsAutoSubscribe.ToString())
&& (rolePermissions.Contains(Permission.AccessMissionControl.ToString())
|| HasPermission(Permission.AccessMissionControl)))
{
user.IsNewsSubscribed = true;
}
}

await _userRepository.UpdateSaveAsync(userId, user);

return authCode.RoleName;
}

public async Task<User> AddHouseholdMemberAsync(int householdHeadUserId, User memberToAdd,
public async Task<User> AddHouseholdMemberAsync(int householdHeadUserId, User memberToAdd,
bool skipHouseholdActionVerification = false)
{
if (!skipHouseholdActionVerification)
{
VerifyCanHouseholdAction();
}

var siteId = GetCurrentSiteId();
int authUserId = GetClaimId(ClaimType.UserId);
var householdHead = await _userRepository.GetByIdAsync(householdHeadUserId);
Expand Down
2 changes: 1 addition & 1 deletion src/GRA.Domain.Service/VendorCodeService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ var jobDetails
});
for (int i = 0; i < excelReader.FieldCount; i++)
{
switch (excelReader.GetString(i).Trim() ?? $"Column{i}")
switch (excelReader.GetString(i)?.Trim() ?? $"Column{i}")
{
case CouponRowHeading:
couponColumnId = i;
Expand Down

0 comments on commit 8b64fb6

Please sign in to comment.