drupal webform - 信用卡重新提交管理员编辑

时间:2016-12-01 13:45:17

标签: drupal webforms authorize.net drupal-webform

我有一个安装了drupal网站的客户。在网站上有一个表格,允许未经授权的/匿名用户提交一些收费的官方数据请求。

问题是当管理员进入网站并填写一些额外的字段(用于办公室处理)时,信用卡会再次收费。

有没有办法为不收费的管理员提供保存按钮?或者只收取一次 - 如果它在网络上失败,那么管理员可以通过其他方式运行它。

1 个答案:

答案 0 :(得分:0)

我不确定是否完全理解问题,但您可以使用hook_form_alter更改表单:https://api.drupal.org/api/drupal/modules%21system%21system.api.php/function/hook_form_alter/7.x

因此,它允许您在呈现之前修改表单,并可能删除当前用户记录条件的信用卡服务回调。

这样的东西
function MYMODULENAME_form_alter(&$form, &$form_state, $form_id){
    global $user;
    if($form_id == 'my_credi_card_form_id' && $user->uid == 1){ 
         //superadmin or use user_has_role function for group of user with permissions
        // dump form structure to identify callback and after unset it from form
    }
}