Commit 53afc849 authored by Joost Fock's avatar Joost Fock

Merge branch 'dev' into staging

parents fa55ab2c 3335f36b
Pipeline #1512 failed with stages
in 52 seconds
......@@ -40,16 +40,16 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.Practices.ServiceLocation, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<HintPath>..\..\tools\Chiro.LoginService\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll</HintPath>
<HintPath>..\packages\CommonServiceLocator.1.3\lib\portable-net4+sl5+netcore45+wpa81+wp8\Microsoft.Practices.ServiceLocation.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Practices.Unity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=6d32ff45e0ccc69f, processorArchitecture=MSIL">
<HintPath>..\..\tools\Chiro.LoginService\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.dll</HintPath>
<HintPath>..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Practices.Unity.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=6d32ff45e0ccc69f, processorArchitecture=MSIL">
<HintPath>..\..\tools\Chiro.LoginService\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.Configuration.dll</HintPath>
<HintPath>..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.Configuration.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Practices.Unity.RegistrationByConvention, Version=4.0.0.0, Culture=neutral, PublicKeyToken=6d32ff45e0ccc69f, processorArchitecture=MSIL">
<HintPath>..\..\tools\Chiro.LoginService\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.RegistrationByConvention.dll</HintPath>
<HintPath>..\packages\Unity.4.0.1\lib\net45\Microsoft.Practices.Unity.RegistrationByConvention.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
......
......@@ -167,6 +167,14 @@ private IEnumerable<LidOverzicht> Sorteren(IEnumerable<LidOverzicht> rij, LidEig
// Bewaar gekozen filters in model, zodat de juiste items in de dropdownlijsten geselecteerd worden
// AspisZonderEmail wordt gekozen zonder dat de afdeling geselecteerd is, maar die afdelingID moeten we dus ook nog meenemen.
if (ledenLijst == LidInfoModel.SpecialeLedenLijst.AspisZonderEmail)
{
afdelingID = (from afd in model.AfdelingsInfoDictionary
where afd.Value.OfficieleAfdelingID == (int)NationaleAfdeling.Aspis
select afd.Value.AfdelingID).FirstOrDefault();
}
model.AfdelingID = afdelingID;
model.FunctieID = functieID;
model.SpecialeLijst = ledenLijst;
......@@ -192,6 +200,8 @@ private IEnumerable<LidOverzicht> Sorteren(IEnumerable<LidOverzicht> rij, LidEig
Resources.LijstLeidingZonderEmail);
model.SpecialeLijsten.Add(LidInfoModel.SpecialeLedenLijst.LedenMetVerdachteEmail,
Resources.LijstLedenMetVerdachteEmail);
model.SpecialeLijsten.Add(LidInfoModel.SpecialeLedenLijst.AspisZonderEmail,
Resources.LijstAspisZonderEmail);
model.SpecialeLijsten.Add(
LidInfoModel.SpecialeLedenLijst.Alles,
Resources.LijstAlles);
......@@ -248,19 +258,19 @@ private IEnumerable<LidOverzicht> Sorteren(IEnumerable<LidOverzicht> rij, LidEig
private static LidFilter FilterMaken(int afdelingID, int functieID, LidInfoModel.SpecialeLedenLijst ledenLijst, int groepsWerkJaarID)
{
return new LidFilter
{
GroepsWerkJaarID = groepsWerkJaarID,
AfdelingID = (afdelingID == 0) ? null : (int?)afdelingID,
FunctieID = (functieID == 0) ? null : (int?)functieID,
ProbeerPeriodeNa =
{
GroepsWerkJaarID = groepsWerkJaarID,
AfdelingID = (afdelingID == 0) ? null : (int?)afdelingID,
FunctieID = (functieID == 0) ? null : (int?)functieID,
ProbeerPeriodeNa =
(ledenLijst == LidInfoModel.SpecialeLedenLijst.Probeerleden) ? (DateTime?)DateTime.Today : null,
HeeftVoorkeurAdres = (ledenLijst == LidInfoModel.SpecialeLedenLijst.OntbrekendAdres) ? (bool?)false : null,
HeeftTelefoonNummer =
HeeftVoorkeurAdres = (ledenLijst == LidInfoModel.SpecialeLedenLijst.OntbrekendAdres) ? (bool?)false : null,
HeeftTelefoonNummer =
(ledenLijst == LidInfoModel.SpecialeLedenLijst.OntbrekendTelefoonNummer) ? (bool?)false : null,
HeeftEmailAdres = (ledenLijst == LidInfoModel.SpecialeLedenLijst.LeidingZonderEmail) ? (bool?)false : null,
HeeftVerdachtEmailAdres = (ledenLijst == LidInfoModel.SpecialeLedenLijst.LedenMetVerdachteEmail ) ? (bool?)true : null,
LidType = (ledenLijst == LidInfoModel.SpecialeLedenLijst.LeidingZonderEmail) ? LidType.Leiding : LidType.Alles
};
HeeftEmailAdres = (ledenLijst == LidInfoModel.SpecialeLedenLijst.LeidingZonderEmail || ledenLijst == LidInfoModel.SpecialeLedenLijst.AspisZonderEmail) ? (bool?)false : null,
HeeftVerdachtEmailAdres = (ledenLijst == LidInfoModel.SpecialeLedenLijst.LedenMetVerdachteEmail) ? (bool?)true : null,
LidType = (ledenLijst == LidInfoModel.SpecialeLedenLijst.LeidingZonderEmail) ? LidType.Leiding : LidType.Alles
};
}
/// <summary>
......@@ -450,7 +460,7 @@ private ActionResult ToepassenOpSelectie(LidInfoModel model, int groepID)
new { groepID });
case 2:
GelieerdePersonenUitschrijven(model.SelectieGelieerdePersoonIDs, groepID, Resources.LedenUitgeschreven);
return RedirectToAction("Index", new {groepID});
return RedirectToAction("Index", new { groepID });
case 3:
return AfdelingenBewerken(model.SelectieGelieerdePersoonIDs, groepID);
case 4:
......@@ -488,15 +498,15 @@ public ActionResult Download([RouteValue]int id, [QueryStringValue]int afdelingI
if (id == 0)
{
var gwj = VeelGebruikt.GroepsWerkJaarOphalen(groepID);
werkJaarInfo = new WerkJaarInfo {WerkJaar = gwj.WerkJaar, ID = gwj.WerkJaarID};
werkJaarInfo = new WerkJaarInfo { WerkJaar = gwj.WerkJaar, ID = gwj.WerkJaarID };
groepsWerkJaarID = werkJaarInfo.ID;
}
else
{
var gwjs = ServiceHelper.CallService<IGroepenService, IEnumerable<WerkJaarInfo>>(svc => svc.WerkJarenOphalen(groepID));
werkJaarInfo = (from wj in gwjs
where wj.ID == id
select wj).FirstOrDefault();
where wj.ID == id
select wj).FirstOrDefault();
groepsWerkJaarID = id;
}
......@@ -514,7 +524,7 @@ public ActionResult Download([RouteValue]int id, [QueryStringValue]int afdelingI
const string bestandsNaam = "leden.xlsx";
var pkg = GapExcelManip.LidExcelDocument(leden, alleAfdelingen);
return new ExcelResult(pkg, bestandsNaam);
}
......@@ -564,7 +574,7 @@ public JsonResult AfdelingBewerken(int lidID, int groepID)
else
{
model.Titel = String.Format(Resources.AfdelingenAanpassen, model.Info.VolledigeNaam);
return Json(model,JsonRequestBehavior.AllowGet);
return Json(model, JsonRequestBehavior.AllowGet);
}
}
......@@ -675,20 +685,20 @@ public ActionResult LoonVerliesVerzekeren(int groepID, int id)
[HandleError]
public ActionResult LoonVerliesVerzekeren(BevestigingsModel model, int groepID, int id)
{
try
try
{
ServiceHelper.CallService<ILedenService, int>(svc => svc.LoonVerliesVerzekeren(id));
TempData["succes"] = Resources.WijzigingenOpgeslagenFeedback;
TempData["succes"] = Resources.WijzigingenOpgeslagenFeedback;
}
catch (FaultException<FoutNummerFault> ex)
catch (FaultException<FoutNummerFault> ex)
{
switch (ex.Detail.FoutNummer)
switch (ex.Detail.FoutNummer)
{
case FoutNummer.GroepInactief:
TempData["fout"] = String.Format(Resources.GroepInactief);
break;
case FoutNummer.ChronologieFout:
var url = Url.Action("Index","JaarOvergang");
var url = Url.Action("Index", "JaarOvergang");
var werkJaar = VeelGebruikt.GroepsWerkJaarOphalen(groepID).WerkJaar;
TempData["fout"] = String.Format(Resources.WerkJaarInOvergang, werkJaar + 1, werkJaar + 2, url);
break;
......@@ -696,7 +706,7 @@ public ActionResult LoonVerliesVerzekeren(BevestigingsModel model, int groepID,
throw;
}
}
catch (FaultException<BestaatAlFault<String>>)
catch (FaultException<BestaatAlFault<String>>)
{
TempData["fout"] = String.Format(Resources.VerzekeringBestaatAl);
}
......@@ -713,7 +723,7 @@ public ActionResult ZelfFunctiesToekennen(int groepID)
{
return RedirectToAction("Lijst", new { id = 0 });
}
return RedirectToAction("FunctiesToekennen", new {id = lidId.Value});
return RedirectToAction("FunctiesToekennen", new { id = lidId.Value });
}
/// <summary>
......
......@@ -25,8 +25,8 @@ public class LidInfoModel : LedenLijstModel
{
public enum SpecialeLedenLijst
{
Geen, Alles, Probeerleden, VerjaardagsLijst, OntbrekendAdres, OntbrekendTelefoonNummer, LeidingZonderEmail, LedenMetVerdachteEmail
}
Geen, Alles, Probeerleden, VerjaardagsLijst, OntbrekendAdres, OntbrekendTelefoonNummer, LeidingZonderEmail, LedenMetVerdachteEmail, AspisZonderEmail
}
public LidInfoModel()
{
......
......@@ -423,4 +423,7 @@ Je kunt dit nog steeds doen door onder 'leden' te klikken op het vorige werkjaar
<data name="LijstLedenMetVerdachteEmail" xml:space="preserve">
<value>Leden met verdacht mailadres</value>
</data>
<data name="LijstAspisZonderEmail" xml:space="preserve">
<value>Aspi's zonder mailadres</value>
</data>
</root>
\ No newline at end of file
......@@ -19,7 +19,7 @@ namespace Chiro.Gap.WebApp.Properties {
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Resources {
......@@ -618,6 +618,15 @@ public class Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Aspi&apos;s zonder mailadres.
/// </summary>
public static string LijstAspisZonderEmail {
get {
return ResourceManager.GetString("LijstAspisZonderEmail", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Leden met verdacht mailadres.
/// </summary>
......
......@@ -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();
}
}
}
......@@ -1651,7 +1651,7 @@ INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID])
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (59313, 134660, 216)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (59315, 75835, 409)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (59316, 114963, 2676)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (59329, 156007, 498)
--INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (59329, 156007, 498)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (59333, 133662, 284)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (59336, 6683, 480)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (59338, 109660, 365)
......@@ -1734,7 +1734,7 @@ INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID])
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (64770, 15701, 2370)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (64773, 71702, 2801)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (64781, 106078, 420)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (64785, 153670, 2366)
--INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (64785, 153670, 2366)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (64786, 44071, 454)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (64791, 139986, 456)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (64796, 140760, 2507)
......@@ -2002,7 +2002,7 @@ INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID])
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (125219, 119812, 234)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (126040, 21859, 648)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (126043, 77907, 2358)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (126044, 153613, 2305)
--INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (126044, 153613, 2305)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (126045, 89054, 459)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (126062, 145948, 2601)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (126065, 136012, 2616)
......@@ -2258,7 +2258,7 @@ INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID])
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (175107, 17138, 602)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (175109, 134582, 2776)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (175111, 125469, 274)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (175112, 153783, 368)
--INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (175112, 153783, 368)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (175114, 83005, 2485)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (175115, 45531, 2647)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (175117, 13126, 2455)
......@@ -2616,7 +2616,7 @@ INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID])
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (226577, 109609, 384)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (226579, 133663, 370)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (226581, 6071, 210)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (226582, 156080, 2488)
--INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (226582, 156080, 2488)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (226586, 143324, 2809)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (226587, 140449, 359)
INSERT [adr].[BelgischAdres] ([BelgischAdresID], [StraatNaamID], [WoonPlaatsID]) VALUES (226589, 29827, 2650)
......@@ -2660,7 +2660,7 @@ INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (16, N'Guatemala', N'GT
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (17, N'Haïti', N'HT')
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (18, N'Hongarije', N'HU')
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (19, N'Ierland', N'IE')
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (20, N'Ijsland', N'IS')
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (20, N'IJsland', N'IS')
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (21, N'Indië', N'IN')
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (22, N'Italië', N'IT')
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (23, N'Kroatië', N'HR')
......@@ -2692,6 +2692,8 @@ INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (49, N'Roemenië', N'RO
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (50, N'Mexico', N'MX')
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (51, N'Tunesië', N'TN')
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (52, N'Slovenië', N'SI')
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (53, N'Montenegro', 'ME')
INSERT [adr].[Land] ([LandID], [Naam], [IsoCode]) VALUES (54, N'Kenia', 'KE')
SET IDENTITY_INSERT [adr].[Land] OFF
INSERT [adr].[PostNr] ([PostNr]) VALUES (1000)
INSERT [adr].[PostNr] ([PostNr]) VALUES (1020)
......@@ -4867,11 +4869,6 @@ INSERT [adr].[StraatNaam] ([StraatNaamID], [PostNummer], [Naam], [TaalID], [Crab
INSERT [adr].[StraatNaam] ([StraatNaamID], [PostNummer], [Naam], [TaalID], [CrabSubstraatID]) VALUES (153405, 9080, N'Bommelslaan', 1, 130784)
INSERT [adr].[StraatNaam] ([StraatNaamID], [PostNummer], [Naam], [TaalID], [CrabSubstraatID]) VALUES (153449, 3540, N'Beerbosstraat', 1, 47176)
INSERT [adr].[StraatNaam] ([StraatNaamID], [PostNummer], [Naam], [TaalID], [CrabSubstraatID]) VALUES (153511, 8870, N'Aimé Behaeghestraat', 1, 148322)
INSERT [adr].[StraatNaam] ([StraatNaamID], [PostNummer], [Naam], [TaalID], [CrabSubstraatID]) VALUES (153613, 8210, N'Frederik Moddestraat', 1, NULL)
INSERT [adr].[StraatNaam] ([StraatNaamID], [PostNummer], [Naam], [TaalID], [CrabSubstraatID]) VALUES (153670, 8501, N'Arthur Vanwildemeerschstraat', 1, NULL)
INSERT [adr].[StraatNaam] ([StraatNaamID], [PostNummer], [Naam], [TaalID], [CrabSubstraatID]) VALUES (153783, 2350, N'Bokkeneind', 1, NULL)
INSERT [adr].[StraatNaam] ([StraatNaamID], [PostNummer], [Naam], [TaalID], [CrabSubstraatID]) VALUES (156007, 3118, N'Bremberg', 1, NULL)
INSERT [adr].[StraatNaam] ([StraatNaamID], [PostNummer], [Naam], [TaalID], [CrabSubstraatID]) VALUES (156080, 8790, N'Truweelstraat', 1, NULL)
SET IDENTITY_INSERT [adr].[StraatNaam] OFF
SET IDENTITY_INSERT [adr].[WoonPlaats] ON
......@@ -7765,6 +7762,7 @@ INSERT [adr].[WoonPlaats] ([WoonPlaatsID], [PostNummer], [Naam], [TaalID], [Crab
INSERT [adr].[WoonPlaats] ([WoonPlaatsID], [PostNummer], [Naam], [TaalID], [CrabPostKantonID]) VALUES (2860, 8340, N'Sint-Rita', 1, 938)
INSERT [adr].[WoonPlaats] ([WoonPlaatsID], [PostNummer], [Naam], [TaalID], [CrabPostKantonID]) VALUES (2861, 8340, N'Vivenkapelle', 1, 938)
INSERT [adr].[WoonPlaats] ([WoonPlaatsID], [PostNummer], [Naam], [TaalID], [CrabPostKantonID]) VALUES (2862, 9940, N'Wippelgem', 1, 1133)
INSERT [adr].[WoonPlaats] ([WoonPlaatsID], [PostNummer], [Naam], [TaalID], [CrabPostKantonID]) VALUES (2863, 8530, N'Stasegem', 1, 960)
SET IDENTITY_INSERT [adr].[WoonPlaats] OFF
SET IDENTITY_INSERT [biv].[Deelnemer] ON
......@@ -9157,7 +9155,7 @@ SET IDENTITY_INSERT [biv].[Uitstap] OFF
SET IDENTITY_INSERT [core].[Categorie] ON
INSERT [core].[Categorie] ([Naam], [Code], [CategorieID], [GroepID]) VALUES (N'Boekje', N'Boekje', 218, 608)
INSERT [core].[Categorie] ([Naam], [Code], [CategorieID], [GroepID]) VALUES (N'foto toestemming', N'foto', 336, 608)
INSERT [core].[Categorie] ([Naam], [Code], [CategorieID], [GroepID]) VALUES (N'toestemming foto', N'foto', 336, 608)
INSERT [core].[Categorie] ([Naam], [Code], [CategorieID], [GroepID]) VALUES (N'Nieuwe leden', N'Nieuw', 1104, 608)
SET IDENTITY_INSERT [core].[Categorie] OFF
SET IDENTITY_INSERT [core].[Taal] ON
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
USE master
GO
IF EXISTS(SELECT * FROM sys.databases WHERE name='crab')
DROP DATABASE crab
GO
CREATE DATABASE crab
GO
use crab
go
ALTER TABLE dbo.gem ALTER COLUMN ID int not null
ALTER TABLE dbo.gemnm ALTER COLUMN ID int not null
ALTER TABLE dbo.postkan ALTER COLUMN ID int not null
ALTER TABLE dbo.postknm ALTER COLUMN ID int not null
ALTER TABLE dbo.sstrstrn ALTER COLUMN ID int not null
ALTER TABLE dbo.straatnm ALTER COLUMN ID int not null
ALTER TABLE dbo.subkan ALTER COLUMN ID int not null
ALTER TABLE dbo.subkgem ALTER COLUMN ID int not null
ALTER TABLE dbo.substr ALTER COLUMN ID int not null
ALTER TABLE dbo.substrnm ALTER COLUMN ID int not null
GO
ALTER TABLE dbo.gem ADD PRIMARY KEY(ID)
ALTER TABLE dbo.gemnm ADD PRIMARY KEY(ID)
ALTER TABLE dbo.postkan ADD PRIMARY KEY(ID)
ALTER TABLE dbo.postknm ADD PRIMARY KEY(ID)
ALTER TABLE dbo.sstrstrn ADD PRIMARY KEY(ID)
ALTER TABLE dbo.straatnm ADD PRIMARY KEY(ID)
ALTER TABLE dbo.subkan ADD PRIMARY KEY(ID)
ALTER TABLE dbo.subkgem ADD PRIMARY KEY(ID)
ALTER TABLE dbo.substr ADD PRIMARY KEY(ID)
ALTER TABLE dbo.substrnm ADD PRIMARY KEY(ID)
GO
ALTER TABLE dbo.gemnm
ADD CONSTRAINT FK_gemnm_gem FOREIGN KEY (GEMID) REFERENCES dbo.gem(ID)
GO
ALTER TABLE dbo.postknm
ADD CONSTRAINT FK_postknm_postkan FOREIGN KEY (POSTKANID) REFERENCES dbo.postkan(ID)
GO
ALTER TABLE dbo.subkan
ADD CONSTRAINT FK_subkan_postkan FOREIGN KEY (POSTKANID) REFERENCES dbo.postkan(ID)
GO
ALTER TABLE dbo.subkgem
ADD CONSTRAINT FK_sukbgem_subkan FOREIGN KEY (SUBKANID) REFERENCES dbo.subkan(ID)
GO
ALTER TABLE dbo.subkgem
ADD CONSTRAINT FK_subkgem_gem FOREIGN KEY (GEMID) REFERENCES dbo.gem(ID)
GO
ALTER TABLE dbo.straatnm
ADD CONSTRAINT FK_straatnm_gem FOREIGN KEY(GEMID) REFERENCES dbo.gem(ID)
GO
ALTER TABLE dbo.sstrstrn
ADD CONSTRAINT FK_sstrstrn_straatnm FOREIGN KEY (STRAATNMID) REFERENCES dbo.straatnm(ID)
GO
ALTER TABLE dbo.sstrstrn
ADD CONSTRAINT FK_sstrstrn_substr FOREIGN KEY (SUBSTRID) REFERENCES dbo.substr(ID)
GO
ALTER TABLE dbo.substrnm
ADD CONSTRAINT FK_substrnm_substr FOREIGN KEY (SUBSTRID) REFERENCES dbo.substr(ID)
GO
\ No newline at end of file
use crab
go
BEGIN TRY
DROP TABLE dbo.WoonplaatsWerktabel
END TRY
BEGIN CATCH
print 'Tabel dbo.WoonplaatsWerktabel bestond nog niet, dus was verwijderen niet nodig.'
END CATCH
GO
CREATE TABLE dbo.WoonplaatsWerktabel (
ID int identity(1,1),
CrabPostkantonID int,
Postnummer int,
Gemeente varchar(max),
Deelgemeente varchar(max),
Taalcode varchar(2)
)
GO
INSERT INTO dbo.WoonplaatsWerktabel(CrabPostkantonID, Postnummer, Gemeente, Deelgemeente, Taalcode)
SELECT
pk.ID
,pkancode AS Postnummer
, gemnm AS Gemeente
, REPLACE(REPLACE(postkannm, '»', ''), '«', '') AS Deelgemeente
, gn.Taalcode
FROM
dbo.gem g
inner join dbo.gemnm gn on g.ID = gn.gemid
inner join dbo.subkgem skg on g.id = skg.gemid
inner join dbo.subkan sk on skg.subkanid = sk.id
inner join dbo.postkan pk on sk.postkanid = pk.id
inner join dbo.postknm pkn on pk.id = pkn.postkanid
WHERE
gn.taalcode = pkn.taalcode
GO
DECLARE @input varchar(max)
, @idx int
, @entry varchar(max)
, @maxid int
, @tmp int
, @crabID int
, @postnr int
, @gemeente varchar(max)
, @taalcode varchar(2)
SELECT @maxid = max(ID)
FROM dbo.WoonplaatsWerktabel
WHERE Deelgemeente like '%/%'
WHILE @maxid IS NOT NULL
BEGIN
SELECT
@crabID = CrabPostkantonID
, @postnr = Postnummer
, @input = Deelgemeente
, @gemeente = gemeente
, @taalcode = taalcode
FROM
dbo.WoonplaatsWerktabel
WHERE
ID = @maxid
SET @idx = charindex('/', @input)
WHILE @idx > 0
BEGIN
SET @entry = substring(@input, 0, @idx)
INSERT INTO dbo.WoonplaatsWerktabel(CrabPostkantonID, Postnummer, Gemeente, Deelgemeente, Taalcode)
VALUES (@crabID, @postnr, @gemeente, rtrim(ltrim(@entry)), @taalcode)
SET @input = substring(@input, @idx + 1, len(@input))
SET @idx = charindex('/', @input)
END
UPDATE dbo.WoonplaatsWerktabel
SET Deelgemeente = @input
WHERE ID = @maxid
SELECT @maxid = max(ID)
FROM dbo.WoonplaatsWerktabel
WHERE Deelgemeente like '%/%'
END
GO
UPDATE dbo.WoonplaatsWerktabel
SET Deelgemeente = rtrim(ltrim(Deelgemeente))
GO
-- namen die we zelf toegevoegd hebben
INSERT INTO dbo.WoonplaatsWerktabel(CrabPostkantonID, Postnummer, Gemeente, Deelgemeente, Taalcode)
VALUES(938, 8340, 'Damme', 'Sint-Rita', 1)
INSERT INTO dbo.WoonplaatsWerktabel(CrabPostkantonID, Postnummer, Gemeente, Deelgemeente, Taalcode)
VALUES(938, 8340, 'Damme', 'Vivenkapelle', 1)
INSERT INTO dbo.WoonplaatsWerktabel(CrabPostkantonID, Postnummer, Gemeente, Deelgemeente, Taalcode)
VALUES(1133, 9940, 'Evergem', 'Wippelgem', 1)
INSERT INTO dbo.WoonplaatsWerktabel(CrabPostkantonID, Postnummer, Gemeente, Deelgemeente, Taalcode)
VALUES(960, 8530, 'Harelbeke', 'Stasegem', 1)
GO
-- gemeenten die we niet toegevoegd hebben, bv. omdat ze volgens Wikipedia een andere postcode hebben
-- en met die andere postcode ook al in de woonplaatsenlijst zitten
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 1348 AND Deelgemeente = 'Mont-Saint-Guibert'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 1380 AND Deelgemeente = 'Waterloo'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 1400 AND Deelgemeente = 'Petit-Roeulx-lez-Nivelles'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 1410 AND Deelgemeente = 'La Hulpe'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 2180 AND Deelgemeente = 'Antwerpen'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 2620 AND Deelgemeente = 'Wilrijk (Antwerpen)'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 2990 AND Deelgemeente = 'Brecht'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 3660 AND Deelgemeente = 'Meeuwen-Gruitrode'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 4000 AND Deelgemeente = 'Saint-Nicolas (Lg.)'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 4560 AND Deelgemeente = 'Modave'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 4671 AND Deelgemeente = 'Cheratte'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 4700 AND Deelgemeente = 'Waimes'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 4900 AND Deelgemeente = 'Theux'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 5350 AND Deelgemeente = 'Gesves'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 5575 AND Deelgemeente = 'Beauraing'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 6010 AND Deelgemeente = 'Montignies-sur-Sambre'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 6870 AND Deelgemeente = 'Bras'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 6920 AND Deelgemeente = 'Rochefort'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 7180 AND Deelgemeente = 'Ecaussinnes'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 8570 AND Deelgemeente = 'Wortegem-Petegem'
DELETE FROM dbo.WoonplaatsWerktabel WHERE Postnummer = 4750 AND Deelgemeente = 'Butgenbach' AND Taalcode = 'fr'
GO
-- aanpassingen
UPDATE dbo.WoonplaatsWerktabel SET Deelgemeente = 'Ekeren' WHERE Postnummer = 2180 AND Deelgemeente = 'Ekeren (Antwerpen)'
UPDATE dbo.WoonplaatsWerktabel SET Deelgemeente = 'Kermt' WHERE Postnummer = 3510 AND Deelgemeente = 'Kermt (Hasselt)'
UPDATE dbo.WoonplaatsWerktabel SET Deelgemeente = '''s-Gravenvoeren' WHERE Postnummer = 3798 AND Deelgemeente = 's Gravenvoeren'
UPDATE dbo.WoonplaatsWerktabel SET Deelgemeente = 'Beveren-Leie' WHERE Postnummer = 8791 AND Deelgemeente = 'Beveren (Leie)'
UPDATE dbo.WoonplaatsWerktabel SET Deelgemeente = 'Erembodegem' WHERE Postnummer = 9320 AND Deelgemeente = 'Erembodegem (Aalst)'
GO
use crab
go
-- En nu kunnen we nakijken wat er aangepast of toegevoegd is.
-- Als er in het eerste zoekresultaat meerdere rijen zijn waar quotes in voorkomen die op << en >> lijken,
-- moet je in '00 woonplaatsen bijwerken.sql' eens controleren of dat zo in de REPLACE-instructie staat bij de inserts.
-- Niet alle teksteditors kunnen met die quotes overweg, dus misschien moet je dat eens aanpassen en opnieuw uitvoeren.
SELECT *
FROM dbo.WoonplaatsWerktabel wwt
LEFT OUTER JOIN gap_local.adr.WoonPlaats wp on wwt.Postnummer = wp.Postnummer and wwt.Deelgemeente = wp.Naam
WHERE wp.Naam is null
ORDER BY wwt.CrabPostkantonID
GO
SELECT * FROM gap_local.adr.WoonPlaats wp
LEFT OUTER JOIN dbo.WoonplaatsWerktabel wwt on wwt.Postnummer = wp.Postnummer and wwt.Deelgemeente = wp.Naam
WHERE wwt.Deelgemeente is null
ORDER BY wwt.CrabPostKantonID
GO
use crab
go
BEGIN TRY
DROP TABLE dbo.StraatnaamWerktabel
END TRY
BEGIN CATCH
print 'Tabel dbo.StraatnaamWerktabel bestond nog niet, dus was verwijderen niet nodig.'
END CATCH
GO
CREATE TABLE dbo.StraatnaamWerktabel (
ID int identity(1,1),
CrabSubstraatID int,
Postnummer int,
SubStraatnaam varchar(80),
CleaneSubstraatnaam varchar(80),
Taalcode varchar(2)
)
GO
INSERT INTO dbo.StraatnaamWerktabel(CrabSubstraatID, Postnummer, SubStraatnaam, CleaneSubStraatnaam, TaalCode)
SELECT DISTINCT
s.ID AS CrabSubStrID
, pkancode
, substrnm
, straatnm0
, ss.Taalcode
FROM
straatnm sn
inner join sstrstrn ssn on sn.id = ssn.straatnmid
inner join substr s on ssn.substrid = s.id
inner join substrnm ss on s.id = ss.substrid
inner join gem g on sn.gemid = g.id
inner join gemnm gn on g.id = gn.gemid
inner join subkgem skg on g.id = skg.gemid
inner join subkan sk on skg.subkanid = sk.id
inner join postkan pk on pk.id = sk.postkanid
inner join postknm pkn on pk.id = pkn.postkanid
WHERE
pkn.TAALCODE = g.TAALCODE
and s.subkanid = sk.id
GO
This diff is collapsed.
use crab
go
-- En nu kunnen we nakijken wat er aangepast of toegevoegd is.
-- aanvullingen sinds eerste inserts
SELECT * FROM dbo.straatnaamwerktabel WHERE crabsubstraatid > 153602
-- aanvullingen sinds laatste inserts (2018)
SELECT * FROM dbo.straatnaamwerktabel WHERE crabsubstraatid > 190969
-- Als er in het eerste zoekresultaat hieronder meerdere rijen zijn waar quotes in voorkomen die op << en >> lijken,
-- moet je in '00 woonplaatsen bijwerken.sql' eens controleren of dat zo in de REPLACE-instructie staat bij de inserts.
-- Niet alle teksteditors kunnen met die quotes overweg, dus misschien moet je dat eens aanpassen en opnieuw uitvoeren.
SELECT *
FROM dbo.StraatnaamWerktabel snwt
LEFT OUTER JOIN gap_local.adr.StraatNaam sn on snwt.Postnummer = sn.Postnummer and (snwt.SubStraatnaam = sn.Naam or snwt.CleaneSubstraatnaam = sn.Naam)
WHERE sn.Naam is null