HomePublishing Workflow › Management Assistant

Management Assistant

Legacy entry: mng_assist.php (ROLE_16 — labeled "Editorial Office" in the legacy English strings; kept as "Management Assistant" here per the Phase B taxonomy), view view/index.mng_assist.view.php. Admin/utility catch-all for journal configuration (subjects, manuscript types, countries, related links, indexing/abstracting registries, FAQ, glossary, checklist), editorial-board membership, role/subject assignment, bulk contact tools (merge duplicates, Excel import), an email/SMS campaign builder, and the financial report — not a manuscript-lifecycle step.

Page Status Workflow E2E Enhanced Legacy Ref Route Roles
Management Assistant Dashboard Pending mng_assist.php /mng_assist Management Assistant
Journal Settings Pending mng_assist.php?_action=journal /mng_assist?_action=journal Management Assistant
Manage Roles Full Yes tabbed mng_assist.php?_action=role /mng_assist?_action=role Management Assistant
Assign Subjects to Editors / Reviewers Full Yes tabbed mng_assist.php?_action=reviewer /mng_assist?_action=reviewer Management Assistant
Email to Users Pending mng_assist.php?_action=campaign /mng_assist?_action=campaign Management Assistant
Merge Duplicate Users Pending mng_assist.php?_action=merge_dup /mng_assist?_action=merge_dup Management Assistant
Editorial Board List Full Yes drag-reorder mng_assist.php?_action=edb /mng_assist?_action=edb Management Assistant
Add / Edit Editorial Board Member Full Yes slide-over mng_assist.php?_action=edb&_ts=0 /mng_assist?_action=edb&_ts=0 Management Assistant
Manuscript Types List Pending mng_assist.php?_action=type /mng_assist?_action=type Management Assistant
Add / Edit Manuscript Type Pending mng_assist.php?_action=type&_ts=0 /mng_assist?_action=type&_ts=0 Management Assistant
Subjects Pending mng_assist.php?_action=subject /mng_assist?_action=subject Management Assistant
Checklist Items Pending mng_assist.php?_action=checklist /mng_assist?_action=checklist Management Assistant
Review Questions List Pending mng_assist.php?_action=revQ /mng_assist?_action=revQ Management Assistant
Add / Edit Review Question Pending mng_assist.php?_action=revQ&tQU=1 /mng_assist?_action=revQ&tQU=1 Management Assistant
Import Users from Excel — Upload File Pending mng_assist.php?_action=import_cn /mng_assist?_action=import_cn Management Assistant
Import Users from Excel — Match Columns Pending mng_assist.php?_action=import_cn /mng_assist?_action=import_cn Management Assistant
Import Users from Excel — Preview & Confirm Pending mng_assist.php?_action=import_cn /mng_assist?_action=import_cn Management Assistant
Countries Pending mng_assist.php?_action=country /mng_assist?_action=country Management Assistant
Related Links Pending mng_assist.php?_action=link /mng_assist?_action=link Management Assistant
Indexing and Abstracting Pending mng_assist.php?_action=index /mng_assist?_action=index Management Assistant
FAQ Pending mng_assist.php?_action=faq /mng_assist?_action=faq Management Assistant
Glossaries Pending mng_assist.php?_action=gl /mng_assist?_action=gl Management Assistant
Ads List Full Yes drag-reorder mng_assist.php?_action=ads /mng_assist?_action=ads Management Assistant
Ads — Add / Edit Full modal mng_assist.php?_action=ads&_ts=0 /mng_assist?_action=ads&_ts=0 Management Assistant
News & Announcements List Full Yes drag-reorder mng_assist.php?_action=news /mng_assist?_action=news Management Assistant
Add / Edit News Full Yes rich-text mng_assist.php?_action=news&edt=0[&_ts=<news_code>] /mng_assist?_action=news&edt=0&_ts=<news_code> Management Assistant
Financial Report Pending mng_assist.php?_action=py_report /mng_assist?_action=py_report Management Assistant

Features

FeatureStatusE2EDescription
Editorial Office (role-16) staff can open a dedicated Management Assistant portal dashboard Pending Legacy mng_assist.php default action renders a role-16 landing page (view/index.mng_assist.view.php); no apps/web counterpart yet.
Admin can edit journal settings/details (title, configuration) from the assistant portal Pending Legacy ?_action=journal loads AddJournal::loadJournalDetails and saves via ?_action=journal&save=1.
Admin can grant and revoke journal roles on a user account Full Yes Legacy AJAX mutation (request/manager.ajax.php) accepted roles 4/6/16, so it worked from either portal; the port gates by session permission instead.
Admin can assign subject areas to editors and reviewers Full Yes Covers RoleManager::addSubjectToContact; subject expertise drives reviewer matching downstream.
Admin can build an email campaign: define content, search/select a filtered audience of journal users, and send Pending Legacy JournalCampaign::addEditCampaign with AJAX audience search (getCampaignUsers/getUserList), saved recipient lists (saveCampaignUsers), and sendCampaign.
Admin can send an SMS campaign to selected users Pending Legacy JournalCampaign::sendCampaignSMS is a distinct send channel inside the campaign builder.
Admin can search for duplicate user accounts and merge them into one contact Pending Legacy ContactImport::mergeContactsForm/mergeContactsSearch/mergeContactsSave via AJAX; works fully from mng_assist because the AJAX gate accepts role 16.
Admin can bulk-import users from an Excel file via a three-step wizard (upload file, match columns, preview & confirm) Pending Legacy ContactImport::importCnForm/matchColumns/importSave; spec-confirmed broken past step one for role-16-only staff because the forms submit back to manager.php (apps/legacy/spec/admin/user-management/import-users-from-excel.md).
Excel import can assign subject expertise to imported contacts as part of the import Pending Legacy ContactImport::saveCnSubject runs during import save — a sub-feature invisible at page granularity.
Admin can view the editorial-board member list and delete members Full Yes This is the public board-member listing managed via EDBManager, distinct from the edbb role portal.
Admin can reorder editorial-board members to control their public display order Full Yes Order persists to edb_order and drives the public editorial-board page ordering.
Admin can add or edit an editorial-board member with photo and rich-text bio Full Yes Legacy EDBManager::addEditEDBForm/saveEDB also supported member image upload and deleteImage.
Admin can manage manuscript types (list, add/edit, delete, reorder) Pending Legacy TypeManager::getTypesList/addEditTypeForm/saveType/deleteType/reOrderType; types drive the submission form.
Admin can manage the journal's subject taxonomy (list, add/edit, delete, reorder) Pending Legacy SubjectManager combined list + add/edit on one screen (addEditSubjectForm embeds getSubjectsList) with reOrderSubjects.
Admin can manage submission checklist items (list, add/edit, delete, reorder) Pending Legacy CheckListManager; checklist items are shown to authors during submission.
Admin can manage review questions (the Manuscript Evaluation Form): list, add/edit, delete, reorder Pending Legacy ReviewQuestionManager::getQuestionsList/addEditQuestion/saveQuestion/deleteQuestion/reorderQu; legacy label is 'Manuscript Evaluation Form'.
Admin can manage the countries list, including one-click import of a default country set Pending Legacy CountryManager::addEditCountryForm/saveCountry/importCountry/deleteCountry; in legacy, saves from mng_assist silently fail for role-16-only staff (form posts to manager.php).
Admin can manage related links shown on the journal site (list, add/edit, delete, reorder) Pending Legacy LinkManager; same manager.php render/save split as Countries in legacy.
Admin can manage indexing & abstracting registry entries with logo images (list, add/edit, delete, reorder) Pending Legacy IndexManager::addEditIndexForm/saveIndex/reOrderIndex/deleteImage; entries appear on the public journal pages.
Admin can manage FAQ entries (list, add/edit, delete, reorder) Pending Legacy FAQManager; same manager.php render/save split in legacy.
Admin can manage glossary terms (list, add/edit, delete) Pending Legacy GlossaryManager; view hard-codes action="manager" so legacy saves fail for role-16-only staff.
Admin can view the advertisements list with search, status filter and pagination Full Yes Covers AdsManager::getAdssList; search/filter/pagination are enhancements over the legacy flat list.
Admin can drag-to-reorder ads to control display order Full Yes Order determines ad rotation/placement on the public site.
Admin can create or edit an ad with banner image upload, and delete ads with confirmation Full Legacy AdsManager::addEditAdsForm/saveAds/deleteAds/deleteImage; legacy saves posted to manager.php (role-6 gate).
Admin can view the news & announcements list with search, status filter and pagination Full Yes Covers NewsManager::getNewssList.
Admin can drag-to-reorder news items to control display order Full Yes Order drives the public news listing.
Admin can create and edit news posts with a rich-text body and image upload, and delete news with confirmation Full Yes Legacy NewsManager::addEditNewsForm/saveNews/deleteNews/deleteImage.
Admin can run a financial report: filter payments and view the results, including access to payment receipt files Pending Legacy JUPaymentReport::paymentFilterForm embeds ::paymentReportResult and exposes receipt files (getPaymentReceiptFiles); in legacy the Modern-theme filter/export form posts to manager.php (role-6) while Classic posts to itself.
Admin can export the financial report to Excel Pending Legacy top-of-file py_excel query param streams an Excel file via JUPaymentReport::getPaymentsExcel and exits before rendering.
Admin can export the journal's user/contact list to Excel Full Yes Legacy top-of-file excel query param streams Contact_Manager::getContactList as an Excel download and exits — a background export invisible at page granularity. Note: this handler instantiates Contact_Manager, whose class chain defines no getContactList method (only ContactAdmin has it, cn.adm.class.php:78) — the same undefined-method pattern flagged as 'Dropped' on the neighboring impersonate row — so the legacy mechanism itself is likely broken even though the capability is fully ported in the new system.
Admin can impersonate (log in as) another user from the assistant portal Dropped Dead on this entry point only — impersonation as a capability belongs to the Manager/Editor modules.
Admin can reach user-list and reset-password screens from the assistant portal Dropped The equivalent working screens are cataloged under Journal Admin › Users (manager.php).
Open flag (unresolved in Phase B): admin/utility screen riding the role-portal router — not a manuscript-lifecycle step. Nearly every row above dispatches into the exact same manager-style classes (SubjectManager, TypeManager, CountryManager, LinkManager, IndexManager, FAQManager, GlossaryManager, AdsManager, NewsManager, CheckListManager, ReviewQuestionManager, EDBManager, RoleManager, ContactImport, JournalCampaign, JUPaymentReport) as the sibling Manager module — kept as its own module only because mng_assist.php is its own role-portal entry point, gated on ju_contact_role._role = 16 rather than manager.php's _role = 6.
Six rows above render via mng_assist.php but save through manager.php instead — which silently breaks for role-16-only staff.
CountryManager and GlossaryManager hard-code action="manager" in their views (view/country.view.php, view/glossary.view.php); LinkManager, FAQManager, AdsManager, and NewsManager default their internal fileName/actionFile property to "manager", and mng_assist.php's dispatch — unlike its subject/edb/type/index/checklist/revQ cases, which explicitly reassign the property — never overrides it. manager.php's own top-of-file gate requires a ju_contact_role row with _role = 6 specifically (the same class of bug the Import Users from Excel spec confirms below), so a contact holding role 16 but not role 6 can open Countries, Related Links, FAQ, Glossaries, Ads, and News & Announcements from this page, but every save is silently redirected away and rejected. The Financial Report row has a milder version of the same issue: only its Modern-theme filter/export form hard-codes action="manager?_action=py_report" (the Classic-theme form submits back to itself).
Import Users from Excel is spec-confirmed broken past step one for role-16-only staff.
Per apps/legacy/spec/admin/user-management/import-users-from-excel.md's Inconsistency States: "the feature is exposed through both manager and mng_assist, but the rendered forms submit back to manager, and the cancel link also points to manager?_action=import_cn" — a role-16 (not role-6) contact can open the Upload File screen above, but Match Columns and Preview & Confirm both fail once submitted. The same wizard is separately cataloged as a fully working role-6 flow at Journal Admin › Users.
Manage Roles, Assign Subjects, Email to Users, and Merge Duplicate Users are also cataloged under Journal Admin › Users
(manager.php, role 6). Unlike the rows in the previous two notes, these four have no render/save split: their data mutations run through request/manager.ajax.php, which independently gates on _role IN (4, 6, 16), so all four work fully whether reached from manager.php or mng_assist.php.
Editorial Board List and Add / Edit Editorial Board Member are also cataloged under Journal Admin › Editorial Board
(manager.php, role 6). mng_assist.php's edb case explicitly reassigns $edb->actionFile = "mng_assist" before calling EDBManager::manageEDBActions — and view/edb.view.php builds every link and form action off that property — so, like the Note 4 rows above, both screens render and save correctly end-to-end whether reached from manager.php (role 6) or mng_assist.php (role 16), with no render/save split.
Excluded as non-rows.
The top-of-file excel/py_excel query params stream an Excel file and exit() before any page renders. _action=imps instantiates Contact_Manager (class/contacts.class.php, per mng_assist.php's own case block at lines 390-394) and calls ->impersonateAsUser($_REQUEST) — but Contact_Manager (and its parent JU_Config) defines no such method anywhere in the codebase; only ContactAdmin (class/cn.adm.class.php:591), which is what manager.php (line 556) and editor.php (line 426) correctly instantiate for their own imps cases, has it. Calling it here throws a PHP fatal error (call to undefined method) instead of performing the redirect, so it's excluded as broken/unreachable rather than as a working no-render redirect. _action=userList and _action=resetpass have page-title mappings in the switch above the content dispatch, but their case blocks in the actual content-dispatch switch are commented out — dead, unreachable code. _action=journal_s, email, sms, backupDb, section, and subscription likewise only set a page title; with no matching case in the content-dispatch switch, they silently fall through to the Dashboard row above instead of rendering a distinct screen.