Forum
mrb arkadaslar bi tane custom list olusturdm ve bu liste de kisi yada grup ekle coloum var bn burya ekledıgım ınsanların otomatik olarak site permission a da eklemek ıstıyorum.yardımlarını beklıyorum... iyi calısmalar..
Merhaba,
Bunu workflow ile yapabilirsin, ancak ne gerek var listeye ekleyeceğine permissiona ekle.
Merhaba
Benim bi tane custom list im var buraya her eleman ekledıgımde list in title ini alıp bi tane site olusturuyor.ben olusturulan sitelerin site permission ına yine aynı liste deki secdigim kişilerin eklenmesini istiyorum.bunu hangi workflow ile yapabilirim aradim ama bulamadım buna benzer bise yardımcı olursanız cok sevinirim
iyi calısmalr
Merhaba,
Bunu workflow ile yapabilirsin, ancak ne gerek var listeye ekleyeceğine permissiona ekle.
hocam simdi replace these permission of item in this list actionundan bahsediosan simdi bununla bn listedeki coloumn lara permission verebliorm yanı sole lıstede coloumn da kişi grup eklenen yerde ali varsa ali bu liste elemanına erisiyor yoksa erisemiyor.
ama sonucda bn bi site olusturuyorum ve olusturdugum sitenin bi URL si var dolayısıyla baska kullanıcı URL yi adres cubuguna yazdıgı zaman bnım olusturdugum site ye erisebilicek.bnm yapmak istedgim sey bu siteninde permissionlarını ayarlamak otomatik olarak webpart ,event receiver yada bi cutom action la.ama bunu nasıl yapıcam hangi kutuphaneyi kullanıcam bilmiorum.
merheba
ilk defa olarak bir türkiye sitesinde yaziyorum. onun için he kesisi selamlıyorum.
aşağıdaki kod bir Event Handlerdir ki hem Siteni düzenliyor ve hem o Siteye seçilmis User ya Grouplari artirip ve Onlara o Sitede Contribute hakkı verior. umarim işinize yarar
public override void ItemAdding(SPItemEventProperties properties)
{
base.ItemAdding(properties);
string SiteUrl=properties.AfterProperties["SitUrl"] as string;
if (!string.IsNullOrEmpty(SiteUrl))
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite mySite = new SPSite(properties.SiteId))
{
using (SPWeb myWeb = mySite.OpenWeb(properties.Web.ID))
{
SPFieldUserValueCollection userValues = new SPFieldUserValueCollection(myWeb, properties.AfterProperties["SiteUsers"] != null ? properties.AfterProperties["SiteUsers"].ToString() : string.Empty);
string SiteTitle = properties.AfterProperties["Title"] as string ?? string.Empty;
SPWeb newWeb = myWeb.Webs.Add(SiteUrl, SiteTitle, "my new site", myWeb.Language, myWeb.WebTemplate, false, false);
newWeb.BreakRoleInheritance(true);
foreach (SPFieldUserValue uv in userValues)
{
SPPrincipal principal = uv.User as SPPrincipal ?? myWeb.SiteGroups.GetByID(uv.LookupId) as SPPrincipal;//if (uv.User as SPPrincipal)!=null that is a user else is group
SPRoleAssignment newPrincipalRole = new SPRoleAssignment(principal);
newPrincipalRole.RoleDefinitionBindings.Add(newWeb.RoleDefinitions["Contribute"]);
newWeb.RoleAssignments.Add(newPrincipalRole);
}
}
}
});
}
else
{
properties.ErrorMessage = "site address is null";
properties.Cancel = true;
}
}
hocam cok tesekkur ederım kodunuzu denemeye calisıcam umarım becerebılırım.cok saolun ayrıca tekrardan
başka sorunuz olursa bildiyim kader cevaplamaya hazırım
cok saolun.benım custom list imde suan ilovesharepoint wsp sini kullanarak create site actionundan templete ini verebiliyorum ayrıca yeni olusturulan sitenin permissionun unique olmasınıda saglıyorum.bnım tek ıhtıyacım olan sey yenı olusturulan sitede grant permission eklemek bunuda custum list in ıcındekı SiteUser da secdıgım kişilerin olasını ıstıyorum.bu baglamda bu kod biraz fazla gibi cunku denedım yeni bi site falan olusturuyor buna ıhtıyacım yok ztn workflow action bunu yapıyor.kodu sadelestırmem gerekıcek anlycagınız bide sunu sorıyım bn event handler ı custom lıst e mı yoksa workflow event handler e mı vermem daha mantıklı olur sızce umarım anlatabılmısımdır=)) cok tesekkur ederım ayrıca tekrarda yardımlarınız ıcın hocam.