Commit 1c74599c authored by Johan Vervloet's avatar Johan Vervloet

Closes #5615 - Aanpassingen willekeurige groep toekennen.

parent b2c6bc77
......@@ -30,12 +30,10 @@ namespace Chiro.Gap.ServiceContracts
public interface IDbHacksService
{
/// <summary>
/// Deze method geeft de gebruiker met gegeven <paramref name="gebruikersNaam"/> GAV-rechten voor een
/// willekeurige groep.
/// Erg lelijke hack die direct in de database schrijft om de aangelogde gebruiker
/// toegang te geven tot een testgroep.
/// </summary>
/// <param name="gebruikersNaam"></param>
/// <returns>Groep-ID van de groep waarop je rechten hebt gekregen.</returns>
[OperationContract]
int WillekeurigeGroepToekennen(string gebruikersNaam);
void WillekeurigeGroepToekennen();
}
}
/*
* Copyright 2016 Chirojeugd-Vlaanderen vzw. See the NOTICE file at the
* Copyright 2016, 2017 Chirojeugd-Vlaanderen vzw. See the NOTICE file at the
* top-level directory of this distribution, and at
* https://gapwiki.chiro.be/copyright
*
......@@ -16,13 +16,9 @@
* limitations under the License.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using Chiro.Gap.ServiceContracts;
using Chiro.Gap.WorkerInterfaces;
using System.Diagnostics;
namespace Chiro.Gap.Services
{
......@@ -32,17 +28,24 @@ namespace Chiro.Gap.Services
/// <remarks>
/// DEZE FILE MAG NIET AANWEZIG ZIJN IN DE CODE VOOR DE LIVE-OMGEVING!
/// </remarks>
public class DbHacksService : IDbHacksService
public class DbHacksService : BaseService, IDbHacksService
{
public DbHacksService(
ILedenManager ledenManager,
IGroepsWerkJarenManager groepsWerkJarenManager,
IAuthenticatieManager authenticatieManager,
IAutorisatieManager autorisatieManager,
IAbonnementenManager abonnementenManager): base(ledenManager, groepsWerkJarenManager, authenticatieManager, autorisatieManager, abonnementenManager)
{ }
/// <summary>
/// Deze method geeft de gebruiker met gegeven <paramref name="gebruikersNaam"/> GAV-rechten voor een
/// willekeurige groep.
/// Erg lelijke hack die direct in de database schrijft om de aangelogde gebruiker
/// toegang te geven tot een testgroep.
/// </summary>
/// <param name="gebruikersNaam"></param>
/// <returns>Groep-ID van de groep waarop je rechten hebt gekregen.</returns>
public int WillekeurigeGroepToekennen(string gebruikersNaam)
public void WillekeurigeGroepToekennen()
{
return TestHacks.TestHacks.TestGroepToevoegen(gebruikersNaam);
Debug.Assert(_authenticatieMgr.AdNummerGet().HasValue);
TestHacks.TestHacks.TestGroepToevoegen(_authenticatieMgr.AdNummerGet().Value);
}
}
}
/*
* Copyright 2013-2016 Chirojeugd-Vlaanderen vzw. See the NOTICE file at the
* Copyright 2013-2017 Chirojeugd-Vlaanderen vzw. See the NOTICE file at the
* top-level directory of this distribution, and at
* https://develop.chiro.be/gap/wiki/copyright
*
......@@ -16,7 +16,6 @@
* limitations under the License.
*/
using System;
using System.Data;
using System.Data.SqlClient;
using Chiro.Gap.TestHacks.Properties;
......@@ -26,26 +25,23 @@ namespace Chiro.Gap.TestHacks
public class TestHacks
{
/// <summary>
/// Erg lelijke hack die direct in de database schrijft om een gebruiker met naam
/// <paramref name="userName"/> toegang te geven tot een testgroep.
/// Erg lelijke hack die direct in de database schrijft om een gebruiker met gegeven
/// <paramref name="adNummer"/> toegang te geven tot een testgroep.
/// </summary>
/// <param name="userName">naam van de gebruiker die toegang moet krijgen</param>
public static int TestGroepToevoegen(string userName)
/// <param name="adNummer"> van de gebruiker die toegang moet krijgen</param>
public static void TestGroepToevoegen(int adNummer)
{
int result;
using (var connection = new SqlConnection(Settings.Default.ConnectionString))
{
connection.Open();
var command = new SqlCommand("auth.spWillekeurigeGroepToekennen", connection)
var command = new SqlCommand("auth.spWillekeurigeGroepToekennenAd", connection)
{
CommandType = CommandType.StoredProcedure
};
command.Parameters.Add(new SqlParameter("@login", userName));
result = Convert.ToInt32(command.ExecuteScalar());
command.Parameters.Add(new SqlParameter("@adNr", adNummer));
command.ExecuteNonQuery();
connection.Close();
}
return result;
}
}
}
......@@ -96,7 +96,7 @@ public override ActionResult Index([DefaultParameterValue(0)]int dummyint)
public ActionResult TestGroepToevoegen()
{
ServiceHelper.CallService<IDbHacksService>(svc => svc.WillekeurigeGroepToekennen(HttpContext.User.Identity.Name));
ServiceHelper.CallService<IDbHacksService>(svc => svc.WillekeurigeGroepToekennen());
return RedirectToAction("Index");
}
}
......
......@@ -201,14 +201,9 @@ GO
-- procedures voor dev (moet weg uit live db)
CREATE PROCEDURE [auth].[spWillekeurigeGroepToekennenAd]
(
@adNr int,
@naam varchar(max),
@voornaam varchar(max),
@geboorteDatum DateTime,
@geslacht int -- 1 man, 2 vrouw
@adNr int
)
AS
-- Doel: Kent rechten toe aan persoon met gegeven AD-nummer.
......@@ -217,11 +212,6 @@ AS
BEGIN
DECLARE @stamnr as varchar(10);
insert into pers.persoon(AdNummer, Naam, VoorNaam, GeboorteDatum, Geslacht)
select @adNr, @naam, @voornaam, @geboortedatum, @geslacht
where not exists (select adNummer from pers.Persoon where adNummer=@adnr);
set @stamnr = (select top 1 g.Code from grp.Groep g where g.StopDatum is null order by newid());
exec auth.spGebruikersRechtToekennenAd @stamnr, @adNr
END
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