إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

مساعدة في كود الصلاحيات من خلال الفورم ؟


6 رد (ردود) على هذا الموضوع

#1 ابونواف620

ابونواف620

    مشترك

  • الأعضــاء
  • 150 مشاركة
  • الاسم الأول:fawaz
  • اسم العائلة:alzaidi
  • البـلـد: Country Flag

تاريخ المشاركة 31 July 2005 - 02:44 AM

السلام عليكم ورحمة الله وبركاتة
أريد المساعدة في ايجاد عمل كود لعمل صلاحيات من خلال الفورم مثل ( التعديل والأضافة والأستعلام والحذف )
بحيث يكون المستخدم رقم واحد له مثلا ( اضافة سجل جديد ) وليس له امكانية التعديل على السجل وهكذا

امل المساعدة في اسرع وقت لدي مشروع وبقي فقط الصلاحيات

امل المساعدة

مع تحيات
ابو نواف

#2 أسامة موسى

أسامة موسى

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 31 July 2005 - 11:32 AM

الاخ الكريم
اليك هذا الرابط
http://www.araboug.o...t=ST&f=5&t=8674
۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#3 ابونواف620

ابونواف620

    مشترك

  • الأعضــاء
  • 150 مشاركة
  • الاسم الأول:fawaz
  • اسم العائلة:alzaidi
  • البـلـد: Country Flag

تاريخ المشاركة 02 August 2005 - 03:21 AM

الأخوة الأعزاء هذا كود لعمل الصلاحيات من خلال الفورم
أريد أعرف الخطأ فيه حيث انه لأيظهر خطأ عند عمل compile
وعند تشغيل البرنامج لاتطبق الصلاحيات الممنوحة على المستخدمين
أرجو الأفادة وجزاكم الله خيراً
PROCEDURE sec IS
module varchar2 (30);
TEMP VARCHAR2(30); 
ins varchar2(1);
upd varchar2(1);
sel varchar2(1);
del varchar2(1);
ACT varchar2(1);
U_NO NUMBER(10);
BEGIN
  U_NO := :GLOBAL.USER_NO;
  module := :system.current_form;
  TEMP := get_form_property(module,first_block);
  
  SELECT NVL(DELETE_FLAG,'Y'),NVL(INSERT_FLAG,'Y'),NVL(SELECT_FLAG,'Y'),NVL(UPDATE_FLAG,'Y'),NVL(ACTIVE_FLAG,'Y') INTO del,ins,sel,upd,ACT
  FROM   USER_MODULES
  WHERE  USER_ID =  U_NO
  AND    MOD_NAME = module;
   
  LOOP
  IF TEMP IS NOT NULL THEN
  	IF TEMP <> 'TOOLBAR' THEN
  	          	if sel = 'Y' then
               	set_block_property (TEMP,query_ALLOWED,property_TRUE);
                else
               	set_block_property (TEMP,query_ALLOWED,property_falsE);
                end if;  
 
           	if upd = 'Y' then
                    set_block_property (TEMP,update_ALLOWED,property_TRUE);
           	else
                    set_block_property (TEMP,update_ALLOWED,property_falsE);
           	end if;  
 
           	if del = 'Y' then
                    set_block_property (TEMP,delete_ALLOWED,property_TRUE);
           	else
                    set_block_property (TEMP,delete_ALLOWED,property_falsE);
           	end if;  
   
           	if ins = 'Y' then
                 	set_block_property (TEMP,insert_ALLOWED,property_TRUE);
           	else
                 	set_block_property (TEMP,insert_ALLOWED,property_falsE);
           	end if;
           	
     	else
            null;
  	END IF;
  
    TEMP := get_block_property (TEMP,nextblock);
    ELSE
    EXIT;
END IF;
END LOOP;
  
END;
u_o رقم المستخدم

#4 أسامة موسى

أسامة موسى

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 02 August 2005 - 09:15 AM

السلام عليكم
الى الاخ الكريم
هذا تعديل بسيط على الاجراء

PROCEDURE sec IS
module varchar2 (30);
TEMP VARCHAR2(30);
ins varchar2(1);
upd varchar2(1);
sel varchar2(1);
del varchar2(1);
ACT varchar2(1);
U_NO NUMBER(10);

CURSOR C IS
SELECT NVL(DELETE_FLAG,'Y') DEL_1,NVL(INSERT_FLAG,'Y') INS_1,NVL(SELECT_FLAG,'Y') SEL_1,NVL(UPDATE_FLAG,'Y')UPD_1,NVL(ACTIVE_FLAG,'Y') ACT_1
FROM USER_MODULES WHERE USER_ID = U_NO AND MOD_NAME = module;

BEGIN U_NO := :GLOBAL.USER_NO;
module := :system.current_form;
TEMP := get_form_property(module,first_block);
FOR i IN C LOOP
del:=i.DEL_1;
ins:=i.INS_1;
sel:=i.SEL_1;
upd:=i.UPD_1;
ACT:=i.ACT_1;
END LOOP;
GO_BLOCK('BLOCK_NAME');
LOOP
IF TEMP IS NOT NULL THEN
IF TEMP <> 'TOOLBAR' THEN
if sel = 'Y' then
set_block_property (TEMP,query_ALLOWED,property_TRUE);
else
set_block_property (TEMP,query_ALLOWED,property_falsE);
end if;

if upd = 'Y' then
set_block_property (TEMP,update_ALLOWED,property_TRUE);
else
set_block_property (TEMP,update_ALLOWED,property_falsE);
end if;

if del = 'Y' then
set_block_property (TEMP,delete_ALLOWED,property_TRUE);
else
set_block_property (TEMP,delete_ALLOWED,property_falsE);
end if;

if ins = 'Y' then
set_block_property (TEMP,insert_ALLOWED,property_TRUE);
else
set_block_property (TEMP,insert_ALLOWED,property_falsE);
end if;
ELSE
null;
END IF;
TEMP := get_block_property (TEMP,nextblock);
ELSE
EXIT;
END IF;
END LOOP;
END;


اذا لم ينجح الحل
ارجو ارسال نسخة من الفورم على الايميل
OMB_JO@HOTMAIL.COM
ودمتم
۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com

#5 ابونواف620

ابونواف620

    مشترك

  • الأعضــاء
  • 150 مشاركة
  • الاسم الأول:fawaz
  • اسم العائلة:alzaidi
  • البـلـد: Country Flag

تاريخ المشاركة 05 August 2005 - 04:24 AM

إلى الأخ :admon
الف شكر سوف اجرب الكود بعد التعديل وان شاء يكون تمام
وسوف ارسل لك على الآيميل رد
والف شكر على التجاوب

مع تحيات ابو نواف620

#6 m_dba

m_dba

    عضو نشط

  • الأعضــاء
  • 238 مشاركة
  • الاسم الأول:Ahmad
  • اسم العائلة:Zaki
  • البـلـد: Country Flag

تاريخ المشاركة 25 August 2005 - 02:32 PM

اخي admin بارك الله فيك وارجوك ان اتوجهني الى كيفية استعمال هذه الصلاحيات من البداية بدي اغلبك معي بس كيفية استعمالها وشكرا جزيلا لك.

ملفات مرفقة


امسح ذنوبك في دقيقتين - بس دقيقتين وشوف

http://www.shbab1.com/2minutes.htm

#7 أسامة موسى

أسامة موسى

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 2,381 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 25 August 2005 - 02:54 PM

الاخ الكريم
ببساطة
اول شي يرسل اسم المستخدم من الشاشة الرئيسية الى اي شاشة ولنعتبرها شاشة ادخال اسماء الموظفين
ثم بعد ذلك يتم الاستعلام عن صلاحيات للمستخدم من خلال التشييك على جدول الصلاحيات التي يتم تحديدها للمستخدم واظهار او ابطال الصلاحية على مستوى البلوك سواء كانت اضافة او تعديل او حذف او غيرها من الخصائص
هذه الفكرة بشكل عام
۩ اللهـــــــــــــــــــــــم صلي على سيدنا محمد وعلـى آله وصحبه أجمـعين ۩
۩ سبحـــــــــــــــــان الله وبحمده ....... سبحــــــــــــــــــــــــان الله العظيم ۩



يمكنك زيارتي على صفحتي الخاصة بالفيس بوك على الرابط AskOsama

يمكنك زيارتي على مدونتي الجديدة على الرابط http://askossama.blogspot.com