Web
Tabanlı infopath uygulamalarında Form Kitaplığına yetkisi olmayan
Kullanıcıların Infopath Form’unu kullanabilmesini sağlamak ve kullanıcıyı başka
sayfaya Yönlendirmek
Bir
infopath formu bir form kitaplığına yayınlanılırken ,formu kullanacak kullanıcıların
formun yayınlandığı form kitaplığına erişim yetkilerinin olması gerekir.
Bir
Form kitaplığına yayınlanmış bir form içeriğinin kullanıcılar tarafından etkin
kullanılmasını sağlayabilmek için, bu form kitaplığına erişim sağlayacak
kullanıcılara belirli izinller tanımlamak gerekir.(Görüntüleyebilme,
Ekleyebilme, Silebilme v.b gibi)
Form kitaplığı
Form Kitaplığı Ayarları
Ama bazı
durumlarda Kullanıcıların sadece bu formu sınırlı ölçülerde kullanmasını isteyebiliriz.
Mesela organizasyondaki tüm kullanıcılara bu form kitaplığına herhangi bir izin
atamadan kullanıcıların formu görüntüleyebilmesini,kullanabilmesini, kaydedebilmesini
sağlayabiliriz hatta formu kaydettikten sonra kullanıcıyı başka sayfalara da yönlendirebiliriz.
Aşağıdaki
örnekte Personel Iletişim Formu, form kitaplığına yayınlanmış olan personelden
isimli infopath formunu, yetkisi olmayan
tüm kullanıcıların açabilmesini Sharepoint sitesinde ana sayfada bir link
yardımıyla sağlayacağız.
Yani
kullanıcın ,bu form kitaplığına erişm izninin olmasına gerek kalmadan formu ana
sayfada ki link yardımıyla görüntüleyebileceğiz.
Sharepoint
ana sayfasına web part ekleyip bu web part’ın özeliklerini kullanarak link
vereceğiz.
<TABLE border=0 width="100%">
<TBODY>
<TR>
<TD width="8%">
<IMG onclick="FP_goToURL('/*href*/'http://portalnew:3695/_layouts/FormServer.aspx?XsnLocation=http://portalnew:3695/FormServerTemplates/Personelden.xsn&SaveLocation=http%3A%2F%2Fportalnew%3A3695%2Fdeneme&Source=http%3A%2F%2Fportalnew%3A3695%2Fdeneme%2FForms%2FAllItems%2Easpx&DefaultItemOpen=1')"
border=0 align=right src="http://portal/Dokman%20Paylam/BT%20Duyuru%20Belgeleri/Formlar_hizli_erisim_web/Butonlar_form_acma/logo_butonlar/MS_InfoPath_.jpg"
width=20 height=20></TD>
<TD width="89%"><FONT
size=1><A title="" href="
http://portalnew:3695/_layouts/FormServer.aspx?XsnLocation=http://portalnew:3695/FormServerTemplates/Personelden.xsn&SaveLocation=http%3A%2F%2Fportalnew%3A3695%2Fdeneme&Source=http%3A%2F%2Fportalnew%3A3695%2Fdeneme%2FForms%2FAllItems%2Easpx&DefaultItemOpen=1"
target="">Genel Müdür İletişim Formu</A>
</FONT></TD></TR></TBODY></TABLE>
Şimdi sıra geldi kullanıcının Formu ilgili form kitaplığına kaydedebilmesine.Formun ilgili form kitaplığına gönderilebilinmesini sağlamak için bir veri bağlantısı tanımlarız.
Yukarıda anlattığımız gibi Form kitaplığına yetkisi olmayan kullanıcıların formu gönderebilmesini sağlamak için ;
SPSecurity.
RunWithElevatedPrivileges Method (Microsoft.SharePoint)
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint ( microsoft.sharepoint.dll)
SPSecurity. RunWithElevatedPrivileges Method yüksek ayrıcalıklara sahip bir hesaptır.
Kaynaklara Sharepoint system hesabı ile ulaşır ve tam yetkili
olarak işlemlerini sürdürür.
Gonder butonunun altında yazacağımız kod
aşağıdaki gibi olur.
public void CTRL9_5_Clicked(object
sender, ClickedEventArgs e)
{
string konu = MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:konu", NamespaceManager).Value;
if
(konu != "")
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using
(SPSite site = new
SPSite("http://portalnew:3695/deneme/"))
{
//infopath formunu veri bağlantısı kullanarak gönderme
FileSubmitConnection fc = (FileSubmitConnection)this.DataConnections["Gonder"];
fc.Execute();
}
}); MainDataSource.CreateNavigator().SelectSingleNode("/my:myFields/my:FormGiris", NamespaceManager).SetValue("1");
}
//Kullanıcıyı
Başka sayfaya yönlendirme.
string
url = String.Empty;
url = "http://portalnew:3695/default.aspx";
HttpContext.Current.Response.Redirect(url.ToString(), false);
}
Kullanıcı
Formu kullanmak için portalde ana sayfayı açtığında linke tıklaığında
No comments:
Post a Comment