Commit 3ff9208e authored by Bart Boone's avatar Bart Boone 🤞🏼

closes #5430 - duidelijker foutmelding bij ToggleLidType als validatie niet in orde is


(cherry picked from commit 9f3f54a9)
parent 1fb870d5
......@@ -543,7 +543,28 @@ public Lid NieuwInschrijven(LidVoorstel voorstelLid, bool isJaarOvergang)
}
else
{
throw new FoutNummerException(foutNummer.Value, Resources.LidProbleem);
// OPM: hierboven staat dat al de rest in client side validation zit, maar dat lijkt al zeker op n plaats niet te kloppen.
// Als je een lid zonder mailadres leiding wilt maken, krijg je een foutmelding met de tekst 'Algemeen probleem' (zie #5430).
// De regels hieronder fiksen dat, maar het is misschien geen goede manier om dat hier en op deze manier aan te pakken.
string boodschap;
switch (foutNummer.Value)
{
case FoutNummer.LidTypeVerkeerd:
boodschap = Resources.OngeldigLidType;
break;
case FoutNummer.EMailVerplicht:
boodschap = Resources.EMailVerplicht;
break;
case FoutNummer.AdresOntbreekt:
boodschap = Resources.AdresVerplicht;
break;
default:
boodschap = Resources.LidProbleem;
break;
}
throw new FoutNummerException(foutNummer.Value, boodschap);
}
}
......@@ -916,8 +937,8 @@ public bool IsAangesloten(Lid lid)
// TODO: Dit lijkt te hard op de functie hierboven.
var aangeslotenGelieerdePersonen = (from gp in lid.GelieerdePersoon.Persoon.GelieerdePersoon
where gp.Lid.Any(l2 => l2.GroepsWerkJaar.WerkJaar == lid.GroepsWerkJaar.WerkJaar && l2.IsAangesloten)
select gp);
where gp.Lid.Any(l2 => l2.GroepsWerkJaar.WerkJaar == lid.GroepsWerkJaar.WerkJaar && l2.IsAangesloten)
select gp);
return aangeslotenGelieerdePersonen.FirstOrDefault() != null;
}
......@@ -934,16 +955,16 @@ where gp.Lid.Any(l2 => l2.GroepsWerkJaar.WerkJaar == lid.GroepsWerkJaar.WerkJaar
public Lid[] AanTeSluitenLedenOphalen(IQueryable<Lid> lidQueryable, int werkjaar, DateTime vandaag, int? limit)
{
var query = (from l in lidQueryable
where
// maak memberships voor niet-aangesloten leden
!l.IsAangesloten &&
// maak enkel memberships voor huidig werkjaar
l.GroepsWerkJaar.WerkJaar == werkjaar &&
// actieve leden waarvan de instapperiode voorbij is
l.EindeInstapPeriode < vandaag && !l.NonActief &&
// enkel als de groep nog actief was wanneer instapperiode verviel (#4528)
(l.GroepsWerkJaar.Groep.StopDatum == null || l.GroepsWerkJaar.Groep.StopDatum > l.EindeInstapPeriode)
select l);
where
// maak memberships voor niet-aangesloten leden
!l.IsAangesloten &&
// maak enkel memberships voor huidig werkjaar
l.GroepsWerkJaar.WerkJaar == werkjaar &&
// actieve leden waarvan de instapperiode voorbij is
l.EindeInstapPeriode < vandaag && !l.NonActief &&
// enkel als de groep nog actief was wanneer instapperiode verviel (#4528)
(l.GroepsWerkJaar.Groep.StopDatum == null || l.GroepsWerkJaar.Groep.StopDatum > l.EindeInstapPeriode)
select l);
if (limit.HasValue)
{
query = query.Take(limit.Value);
......@@ -958,16 +979,16 @@ public Lid[] AanTeSluitenLedenOphalen(IQueryable<Lid> lidQueryable, int werkjaar
// met IsAangesloten = true. Dan worden ze in de toekomst niet iedere keer opnieuw bekeken.
// TODO: Fix issue #4966
return (from lid in nietAangeslotenLeden
// Als er al betaald is voor het membership, dan gaat het membership niet opnieuw naar CiviCRM, zodat in
// het membership de aanvrager dezelfde blijft als de betaler.
where !IsBetalendAangesloten(lid)
// Als deze aansluiting gratis is, en het lid is al ergens anders aangesloten, dan moet er niets meer
// gebeuren aan het membership in CiviCRM.
where !GratisAansluiting(lid) || !IsAangesloten(lid)
// Als de groep al een werkjaar heeft dat recenter is dan dat van het lid, dan sluiten we het lid niet
// meer aan in het oude werkjaar.
where IsVanHuidigWerkjaar(lid)
select lid).ToArray();
// Als er al betaald is voor het membership, dan gaat het membership niet opnieuw naar CiviCRM, zodat in
// het membership de aanvrager dezelfde blijft als de betaler.
where !IsBetalendAangesloten(lid)
// Als deze aansluiting gratis is, en het lid is al ergens anders aangesloten, dan moet er niets meer
// gebeuren aan het membership in CiviCRM.
where !GratisAansluiting(lid) || !IsAangesloten(lid)
// Als de groep al een werkjaar heeft dat recenter is dan dat van het lid, dan sluiten we het lid niet
// meer aan in het oude werkjaar.
where IsVanHuidigWerkjaar(lid)
select lid).ToArray();
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment