Ticket #120 (closed defect: fixed)

Opened 1 year ago

Last modified 1 year ago

midcom.admin.folder does not work for non-admins

Reported by: rambo Assigned to: tarjei
Priority: major Milestone: MidCOM 2.8
Component: MidCOM component Version:
Keywords: Cc:

Description

if non-admin is granted create and folder admin privileges he gets correctly toolbar item for topic creation and the create view, but submit fails with access denied error (which indicentally refers to article, not topic object).

Change History

09/03/07 16:27:11 changed by bergie

(In [11975]) Correct error message, refs #120

09/18/07 15:29:51 changed by rambo

debug trace:

Sep 18 2007 11:13:56 (02.667339802, 44.707.024,   1.800):       [debug] midcom_helper_datamanager2_qfrule_select_manager::register_rules: form->registerRule('requiremultiselect', null, 'midcom_helper_datamanager2_qfrule_select_requiremultiselect', '/usr/share/midgard/svn/midcom-trunk/midcom.helper.datamanager2/QuickForm_rules/select.php')
Sep 18 2007 11:13:56 (02.734568834, 44.999.720, 292.696):       [debug] midcom_services_auth::can_user_do: Querying privilege midcom.admin.folder:template_management for user user:e005642a5acc11dbbfdbe995291d14581458 to class
Sep 18 2007 11:13:56 (02.767756939, 45.321.212, 321.492):       [warn] midcom_helper__dbfactory::get_object_by_guid: The given GUID () is not valid
Sep 18 2007 11:13:56 (02.769071817, 45.322.648,   1.436):       [debug] midcom_services_auth::can_user_do: Querying privilege midgard:create for user user:e005642a5acc11dbbfdbe995291d14581458 to class midcom_db_topic
Sep 18 2007 11:13:56 (02.771124840, 45.330.532,   7.884):       [error] midcom_db_topic::create_pre_checks: Failed to create object, general create privilege not granted for the current user.
Sep 18 2007 11:13:56 (02.771859884, 45.331.352,     820):       [error] midcom_db_topic::create_pre_checks: Pre-flight check returned false
Sep 18 2007 11:13:56 (02.773292780, 45.334.712,   3.360):       [debug] midcom_admin_folder_handler_edit::dm2_create_callback: We operated on this object:
Variable Type: object: midcom_db_topic
midcom_db_topic Object
(
    [__table__] => topic
    [__old_class_name__] => 
    [__new_class_name__] => midgard_topic
    [__midcom_class_name__] => midcom_baseclasses_database_topic
    [__midcom_generator__] => midcom_services_dbclassloader
    [__midcom_generator_version__] => 765
    [_use_rcs] => 1
    [_rcs_message] => 
    [__res] => Resource id #790
    [guid] => 
    [sitegroup] => 1
    [metadata] => midgard_metadata Object
        (
            [creator] => 
            [created] => 
            [revisor] => 
            [revised] => 
            [revision] => 0
            [locker] => 
            [locked] => 
            [approver] => 
            [approved] => 
            [authors] => 
            [owner] => 
            [schedulestart] => 
            [scheduleend] => 
            [hidden] => 
            [navnoentry] => 
            [size] => 0
            [published] => 
            [score] => 0
            [imported] => 
            [exported] => 
            [deleted] => 
        )

    [action] => 
    [id] => 0
    [created] => 
    [revisor] => 0
    [styleInherit] => 
    [score] => 0
    [title] => 
    [lang] => 0
    [code] => 
    [creator] => 0
    [style] => 
    [revised] => 
    [description] => 
    [name] => 
    [revision] => 0
    [component] => 
    [sid] => 0
    [owner] => 0
    [up] => 106
    [extra] => 
)
Sep 18 2007 11:13:56 (02.774430990, 45.333.072,  -1.640):       [debug] midcom_application::generate_error: An error has been generated: Code: 500, Message: Failed to create a new topic, cannot continue. Last Midgard error was: Access Denied
Sep 18 2007 11:13:56 (02.775294781, 45.334.124,   1.052):       [debug] midcom_application::generate_error: Debugging Stacktrace:
Variable Type: array
Array
(
    [0] => midcom_application::_handle
    [1] => midcom_helper_datamanager2_controller_create::process_form
    [2] => midcom_db_topic::create
    [3] => midcom_application::generate_error
)
Sep 18 2007 11:13:56 (02.776688814, 45.346.568,  12.444):       [debug] midcom_application::generate_error: XDebug Stacktrace:
1: /var/cache/midgard/midgard/8-83-16-0.php:0 {main}
2: /var/cache/midgard/midgard/8-83-16-0.php:76 midcom_application::codeinit
3: /usr/share/midgard/svn/midcom-trunk/midcom.core/midcom/application.php:565 midcom_application::_process
4: /usr/share/midgard/svn/midcom-trunk/midcom.core/midcom/application.php:941 midcom_application::_handle
5: /usr/share/midgard/svn/midcom-trunk/midcom.core/midcom/application.php:1031 midcom_baseclasses_components_interface::handle
6: /usr/share/midgard/svn/midcom-trunk/midcom.core/midcom/baseclasses/components/interface.php:597 midcom_baseclasses_components_request::handle
7: /usr/share/midgard/svn/midcom-trunk/midcom.core/midcom/baseclasses/components/request.php:686 midcom_admin_folder_handler_edit::_handler_edit
8: /usr/share/midgard/svn/midcom-trunk/midcom.admin.folder/handler/edit.php:181 midcom_helper_datamanager2_controller_create::process_form
9: /usr/share/midgard/svn/midcom-trunk/midcom.helper.datamanager2/controller/create.php:307 midcom_helper_datamanager2_controller_create::_cast_to_storage_object
10: /usr/share/midgard/svn/midcom-trunk/midcom.helper.datamanager2/controller/create.php:362 midcom_admin_folder_handler_edit::dm2_create_callback
11: /usr/share/midgard/svn/midcom-trunk/midcom.admin.folder/handler/edit.php:143 midcom_application::generate_error
12: /usr/share/midgard/svn/midcom-trunk/midcom.core/midcom/application.php:1983 debug_print_function_stack
13: /usr/share/midgard/svn/midcom-trunk/midcom.core/midcom/debug.php:413 midcom_debug::print_function_stack
Sep 18 2007 11:13:56 (02.778226852, 45.349.804,   3.236):       [debug] midcom_application::generate_error: Error Page output finished, exitting now
Sep 18 2007 11:13:56 (02.782577991, 45.309.940, -39.864):       [debug] midcom_application::finish: Flushing...
Sep 18 2007 11:13:56 (02.783577919, 45.311.076,   1.136):       [info] midcom_db_topic::create: End of MidCOM run: /simplegray/netmon/__ais/folder/create.html

So for some reason the can_do check fails on dm2_create_callback (I hope the handler already has require_do() before displaying the form).

09/27/07 22:50:40 changed by bergie

  • status changed from new to closed.
  • resolution set to fixed.

This was fixed in [12388]