# Task Criteria + Switch Mode + এই ধাপের বাকি কাজগুলো

তারিখ: 2026-09-01

---

## ১. ফাইল তালিকা

### নতুন ফাইল (NEW)

| # | সার্ভারে পাথ | কাজ |
|---|---|---|
| 1 | `/includes/task_criteria.php` | criteria ইঞ্জিন — শর্ত থেকে SQL, count, rows |
| 2 | `/admin/task_criteria.php` | **Task Criteria** — কোন ট্যাবে কারা দেখাবে সেটা ঠিক করার পেজ |
| 3 | `/admin/switch_user.php` | **Switch Mode** — মেম্বারের ড্যাশবোর্ড খুলে কাজ করা |

### পরিবর্তিত ফাইল (MODIFIED)

| # | সার্ভারে পাথ | কী বদলেছে |
|---|---|---|
| 1 | `/admin/includes/sidebar.php` | হ্যামবার্গারে সাইডবার **পুরো হাইড**; Activity & Task এখন গ্রুপ (All Tasks / Matching People / Task Criteria) |
| 2 | `/includes/theme.php` | হ্যামবার্গারে সাইডবার পুরো হাইড; **Switch mode বার**; Services মেনুতে সব ক্যাটাগরি |
| 3 | `/dashboard.php` | **Services উপরে, My Reports নিচে**; সব ক্যাটাগরি আনলক + গোনা |
| 4 | `/category.php` | যেকোনো ক্যাটাগরি খোলা যায় (আগে শুধু 1 ও 5) |
| 5 | `/admin/product_management.php` | Gov পেজে নতুন স্ট্যাট কার্ড ও কম ফিল্টার, **Add Portal** + **Bulk Upload** |
| 6 | `/admin/activity_task.php` | **Tasks / Matching People** সুইচ + **bulk assign** |
| 7 | `/admin/user_list.php` | Update কলামে **Switch Mode** বাটন |

**ডাটাবেস:** নতুন টেবিল `task_criteria` — পেজটা নিজেই বানিয়ে নেয়, আলাদা migration লাগবে না।

---

## ২. Task Criteria — ট্যাবে কারা দেখাবে

**Admin → Activity & Task → Task Criteria**

আগে Activity & Task এর ট্যাবগুলো শুধু হাতে বানানো টাস্কের লিস্ট ছিল — সিস্টেমের ডেটার সাথে কোনো সম্পর্ক ছিল না। এখন প্রতিটা ট্যাবের পিছনে একটা **নিয়ম** আছে, আর ট্যাব সেই নিয়মে যারা পড়ে তাদের **লাইভ** দেখায়।

**ডিফল্ট নিয়ম (না বদলালে এগুলোই চলবে):**

| ট্যাব | কারা দেখাবে |
|---|---|
| Lead | যারা রেজিস্টার করেছে (যাদের এখনো টাস্ক দেওয়া হয়নি) |
| KYC | যারা KYC করেনি |
| Subscription | যারা সাবস্ক্রিপশন নেয়নি |
| Refer | যারা কাউকে রেফার করেনি |
| Order | যারা কিছু কেনেনি |
| Follow-up | যাদের কল-ব্যাকের তারিখ আজ বা পেরিয়ে গেছে |
| Wallet | যাদের ওয়ালেট ফাঁকা |
| Seller | সব সেলার |

**নিজের নিয়ম বানানো** — ৭টা গ্রুপে শর্ত আছে, সবগুলো **AND** দিয়ে জোড়া লাগে (একটা শর্ত "Any" রাখলে সেটা ধরা হয় না):

- **Account** — টাইপ, স্ট্যাটাস, কত দিনের মধ্যে রেজিস্টার, কত দিনের বেশি পুরনো
- **Money** — সাবস্ক্রিপশন, অর্ডার আছে কিনা, ওয়ালেট
- **KYC** — কখনো ভরেনি / পেন্ডিং / অ্যাপ্রুভড / রিজেক্টেড / অ্যাপ্রুভড ছাড়া সব
- **Referral** — রেফারেলে এসেছে কিনা, নিজে কাউকে রেফার করেছে কিনা
- **Lead** — লিড হয়েছে কিনা, লিড স্ট্যাটাস, মালিক আছে কিনা, কল-ব্যাক due
- **Location** — State / District / Pin code
- **Task** — **এই ট্যাবে খোলা টাস্ক আছে কিনা**

> শেষেরটা সবচেয়ে কাজের — **"No open task yet"** রাখলে কাউকে assign করার সাথে সাথেই সে লিস্ট থেকে সরে যায়, তাই একই লোককে দুবার assign হয় না।

ডান পাশে **লাইভ প্রিভিউ** — কতজন পড়ছে আর প্রথম ৮ জন কারা, সাথে সাথেই দেখা যায়।

## ৩. Bulk assign

**Activity & Task** এ এখন উপরে দুটো সুইচ: **Tasks** (আগের বোর্ড) আর **Matching People** (criteria যাদের ধরেছে)।

Matching People এ প্রতিটা রো তে নাম, কোড, মোবাইল (Call/WhatsApp বাটন সহ), লোকেশন, KYC, সাবস্ক্রিপশন, অর্ডার সংখ্যা, লিড স্ট্যাটাস ও মালিক, রেজিস্ট্রেশন তারিখ।

চেকবক্সে টিক দিলেই উপরে কালো বার আসবে — **Task type**, **Hand to** (কোন staff), **Priority**, **Due date**, **Note** দিয়ে **Assign** চাপলে প্রত্যেকের জন্য আলাদা টাস্ক তৈরি হয়ে যাবে। একবারে ১০০ জন পর্যন্ত এক পাতায়।

## ৪. Switch Mode

**Admin → User List → Update কলাম → Switch Mode**

- মেম্বারের নিজের ড্যাশবোর্ড খুলে যায়, তার চোখে যা দেখা যায় ঠিক তাই
- উপরে সোনালি বার — **"আপনি অমুকের অ্যাকাউন্টে আছেন"** + **Back to [আপনার নাম]** বাটন, প্রতিটা পেজে
- **নিরাপত্তা:** শুধু `Manage Customers` পারমিশন থাকলে; **অন্য admin/staff অ্যাকাউন্টে ঢোকা যাবে না**; ডিলিট করা অ্যাকাউন্টেও না
- আসল admin id `$_SESSION['switch_admin']` এ থাকে, তাই ফেরার রাস্তা কখনো হারায় না
- শুরু আর শেষ — দুটোই ওই মেম্বারের **Update History** তে লেখা থাকে, তাই কে কখন কার অ্যাকাউন্ট খুলেছিল তার স্থায়ী রেকর্ড থাকে

## ৫. বাকি যেগুলো এই ধাপে হলো

- **হ্যামবার্গার** — এখন সাইডবার পুরো হাইড হয়ে যায় (আগে ৫rem/৭৬px আইকন-রেল থেকে যেত)। তিনটে প্যানেলেই।
- **ড্যাশবোর্ড** — Services Hub উপরে, My Reports নিচে। ক্যাটাগরি টাইলে এখন "৬ services" বা "৩ sections" লেখা থাকে, খালি হলে "Coming soon"।
- **সব ক্যাটাগরি খোলা** — আগে শুধু Government Portals আর Agency & Software খুলত, বাকিগুলোয় "Coming Soon" alert আসত। এখন যেকোনো ক্যাটাগরি খোলা যায়; সাব-ক্যাটাগরি থাকলে ট্যাব হয়ে আসে, না থাকলে পুরো ক্যাটাগরির সার্ভিস দেখায়।
- **Government Portal পেজ** — ৫টা ₹0.00 কার্ডের বদলে **Total portals / Active / Inactive / Portal requests** (শেষেরটা website_requests থেকে, ক্লিক করলে ওই পেজে যায়)। ফিল্টারে শুধু Search + Sub Category + Status; Category, Seller, Price, Share Mode, KYC, Area বাদ। উপরে **Add Portal** আর **Bulk Upload** বাটন।

---

## ৬. টেস্ট চেকলিস্ট

1. যেকোনো প্যানেলে হ্যামবার্গার চাপুন → সাইডবার পুরো চলে গেছে কিনা, কনটেন্ট পুরো চওড়া হয়েছে কিনা
2. ড্যাশবোর্ডে Services আগে, My Reports পরে — আর যেকোনো ক্যাটাগরিতে ক্লিক করে ভিতরে ঢোকা যাচ্ছে কিনা
3. Admin → Government Portals → নতুন কার্ড ৪টা, ফিল্টার কমে গেছে, **Add Portal** দিয়ে একটা যোগ করে দেখুন
4. Admin → Activity & Task → **Task Criteria** → KYC ট্যাব বেছে দেখুন ডিফল্ট "KYC not done yet" আর কতজন পড়ছে
5. একটা শর্ত বদলে Save → গোনা বদলেছে কিনা
6. Activity & Task → **Matching People** → কয়েকজনকে টিক দিয়ে একজন staff কে Assign → Tasks ট্যাবে টাস্কগুলো এসেছে কিনা
7. ওই লোকগুলো Matching People থেকে সরে গেছে কিনা (has_task = No open task yet এর জন্য)
8. User List → **Switch Mode** → মেম্বারের ড্যাশবোর্ড খুলছে কিনা, সোনালি বার আছে কিনা, **Back** দিয়ে ফিরে আসছে কিনা
