‫ افزونه برای مدیریت

سلام. می خواستم افزونه ای رو بنویسم که فقط برای مدیریت فعال باشه یعنی مثلا یک فرم داریم که فقط مدیر بتونه اون رو ببینه و submit کنه و برای کاربرا اون فرم در دسترس نباشه. چکار باید بکنم؟

سازنده: ali moradi زمان ایجاد: 2 آبان 1396 زمان اتمام: 2 آبان 1396

پاسخ‌ها:

مرتب‌سازی بر اساس
محمد آقاعباسلو تیم توسعه
محمد آقاعباسلو 2 آبان 1396

سلام

هر افزونه یک بخش تنظیمات دارد که فقط مدیریت سامانه که دسترسی به بخش مدیریت دارد می تواند آن را ببیند. می توانید در تنظیمات افزونه، مورد خود را پیاده‌سازی کنید.

اگر فکر می‌کنید ممکن است در آینده دسترسی بخشی که در نظر دارید به افراد دیگر هم اختصاص دهید‌‌ (تعریف نقش)، می‌بایست در فایل install افزونه مورد نظر خود، با استفاده از کلاس OW::getAuthorization ابتدا دسترسی‌ها را تعریف کنید مانند مشاهده کردن، ویرایش کردن و ... و سپس توابع لازم مانند (addAuthLabels) در event_handler افزونه و هر جای دیگری که لازم است تعریف کنید.(برای راهنمایی می‌توانید کدهای استفاده شده در افزونه‌های دیگری که مجوز دسترسی در مدیریت نقش‌ها دارند را مطالعه کنید). پس از پیاده‌سازی کامل کد، در هر مرحله که نیاز به بررسی دسترسی داشتید می بایست از OW::getUser()->isAuthorized برای بررسی دسترسی کاربر استفاده کنید.

نمونه تعریف دسترسی ها در فایل install افزونه رویداد:

$authorization = OW::getAuthorization(); $groupName = 'event'; $authorization->addGroup($groupName); $authorization->addAction($groupName, 'add_event');

$authorization->addAction($groupName, 'view_event', true); $authorization->addAction($groupName, 'add_comment');

اگر باز هم سوالی داشتید اطلاع دهید

تشکر

ویرایش شده توسط محمد آقاعباسلو (2 آبان 1396)
این موضوع بسته شده است