ব্যবহারকারীদের ইমেল পরিবর্তন করতে নির্দিষ্ট ভূমিকা থেকে সীমাবদ্ধ করুন


10

আমি কি কোনও উপায় তাদের ব্যবহারকারীদের ইমেল ঠিকানা পরিবর্তন করতে নির্দিষ্ট ভূমিকা থেকে সীমাবদ্ধ করতে পারি? একবার তারা নিবন্ধিত হয়ে গেলে আমার এডিট সেটিংস পৃষ্ঠায় এটি পরিবর্তন করতে সক্ষম হওয়ার দরকার নেই। আমি খুঁজে পেয়েছি কীভাবে ব্যবহারকারীর নাম পরিবর্তন করতে সীমাবদ্ধ করতে হবে তবে ইমেলটি নয়।

আমি ড্রুপাল using ব্যবহার করছি advanced

উত্তর:


8

আর একটি উপায় আপনার কাস্টম মডিউলে প্রোগ্রামিয়ালি রয়েছে

function mymodule_form_alter(&$form,$form_state,$form_id) {
   global $user;
    if ($form_id == "user_profile_form") {
       if(in_array('your role',$user->roles) && isset($form['account'])) {
           $form['account']['mail']['#disabled']=TRUE;
          }
      }
 }

5

ব্যবহারকারী সুরক্ষা মডিউলটি ব্যবহার করুন :

এই মডিউলটি ব্যবহারকারীদের জন্য বিভিন্ন সম্পাদনা সুরক্ষা সরবরাহ করে ব্যবহারকারীর প্রশাসকদের সুক্ষ্ম অ্যাক্সেস নিয়ন্ত্রণের অনুমতি দেয়। সুরক্ষাগুলি কোনও ব্যবহারকারীর জন্য নির্দিষ্ট হতে পারে বা কোনও ভূমিকাতে সমস্ত ব্যবহারকারীর জন্য প্রয়োগ করা যেতে পারে।


আমি এই মডিউলটি ডাউনলোড করেছি তবে এটি যা প্রয়োজন ছিল তা করেনি - এটি কোনও ব্যবহারকারীকে তাদের নিজের পাসওয়ার্ড পরিবর্তন করতে বাধা দিতে অক্ষম। বরং এটি প্রশাসকের ভূমিকা অন্য ব্যবহারকারীর পাসওয়ার্ড পরিবর্তন করতে বাধা দেয়।
littledynamo

3

zhilevan - এই সমস্যাটি দ্রুত সমাধানে আমাকে শুরু করার জন্য সুন্দর কোডের জন্য ধন্যবাদ। আমার একটি সাইট আছে যেখানে একটি সাধারণ ব্যবহারকারী ভূমিকা "ক্লায়েন্ট" লগইন রয়েছে যাতে ক্লায়েন্টরা ফাইলগুলি আপলোড এবং ডাউনলোড করতে পারে। "এক অফ" আপলোড বা ডাউনলোডের জন্য ব্যবহারকারীর অ্যাকাউন্টটি অনেকগুলি ক্লায়েন্টের মধ্যে ভাগ করা হবে এবং আমরা চাই না যে তারা এই জেনেরিক অ্যাকাউন্টের জন্য ব্যবহারকারীর নাম, পাসওয়ার্ড বা অন্য কোনও জিনিস পরিবর্তন করতে পারে। আমি নিশ্চিত যে এটি করার জন্য আরও মার্জিত উপায় আছে তবে ব্যবহারকারীর ভূমিকার ভিত্তিতে "সম্পাদনা বিকল্পটি বন্ধ করে দেওয়ার" জন্য আমার কোডটি এখানে। (আমি ব্যবহারকারী সুরক্ষা মডিউল চেষ্টা করেছি, কিন্তু এটি কাজ করতে পারেনি)। অন্য কেউ যদি এটির কাজে লাগে সে ক্ষেত্রে আমার কোডটি এখানে।

function mymodule_form_alter(&$form,$form_state,$form_id) {
   global $user;
    if ($form_id == "user_profile_form") {
       if(in_array('Client',$user->roles) && isset($form['account'])) {

           $form['account']['name']['#disabled']=TRUE;
           $form['account']['current_pass']['#disabled']=TRUE;
           $form['account']['current_pass']['#description']='';
           $form['account']['mail']['#disabled']=TRUE;

           unset($form['picture']);
           unset($form['overlay_control']);
          }
      }
 }

:)। আপনাকে স্বাগতম
ইউসুফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.