Example #1
0
 function displayOptions()
 {
     $this->processDisplayOptions();
     $seedRelease = new Release();
     $this->currentSearchFields['fixed_in_release']['input'] = '<select multiple="true" size="3" name="fixed_in_release[]">' . get_select_options_with_id($seedRelease->get_releases(false, "Active"), empty($this->filters['fixed_in_release']) ? '' : $this->filters['fixed_in_release']) . '</select>';
     $this->currentSearchFields['found_in_release']['input'] = '<select multiple="true" size="3" name="found_in_release[]">' . get_select_options_with_id($seedRelease->get_releases(false, "Active"), empty($this->filters['found_in_release']) ? '' : $this->filters['found_in_release']) . '</select>';
     $this->configureSS->assign('searchFields', $this->currentSearchFields);
     return $this->configureSS->fetch($this->configureTpl);
 }
Example #2
0
 public function testget_releases()
 {
     $release = new Release();
     //test with default params
     $result = $release->get_releases();
     $this->assertTrue(is_array($result));
     //test with custom params
     $result = $release->get_releases(true, 'Hidden', 'name is not null');
     $this->assertTrue(is_array($result));
 }
/**
 * Create HTML form to enter a new record with the minimum necessary fields.
 * Portions created by SugarCRM are Copyright (C) SugarCRM, Inc.
 * All Rights Reserved.
 * Contributor(s): ______________________________________..
 */
function get_new_record_form()
{
    if (!ACLController::checkAccess('Bugs', 'edit', true)) {
        return '';
    }
    global $mod_strings;
    global $app_strings;
    global $app_list_strings;
    global $mod_strings;
    global $theme;
    global $current_user;
    $seedRelease = new Release();
    $lbl_required_symbol = $app_strings['LBL_REQUIRED_SYMBOL'];
    $lbl_default_status = $app_list_strings['bug_status_default_key'];
    $lbl_subject = $mod_strings['LBL_SUBJECT'];
    $lbl_save_button_title = $app_strings['LBL_SAVE_BUTTON_TITLE'];
    $lbl_save_button_key = $app_strings['LBL_SAVE_BUTTON_KEY'];
    $lbl_save_button_label = $app_strings['LBL_SAVE_BUTTON_LABEL'];
    $user_id = $current_user->id;
    $priority_options = get_select_options_with_id($app_list_strings['bug_priority_dom'], $app_list_strings['bug_priority_default_key']);
    $release_options = get_select_options_with_id($seedRelease->get_releases(TRUE, "Active"), "");
    $type_options = get_select_options_with_id($app_list_strings['bug_type_dom'], $app_list_strings['bug_type_default_key']);
    $the_form = get_left_form_header($mod_strings['LBL_NEW_FORM_TITLE']);
    $the_form .= <<<EOQ

\t\t<form name="BugSave" onSubmit="return check_form('BugSave')" method="POST" action="index.php">
\t\t\t<input type="hidden" name="module" value="Bugs">
\t\t\t<input type="hidden" name="record" value="">

\t\t\t<input type="hidden" name="status" value="{$lbl_default_status}">
\t\t\t<input type="hidden" name="assigned_user_id" value='{$user_id}'>
\t\t\t<input type="hidden" name="action" value="Save">




\t\t{$lbl_subject}&nbsp;<span class="required">{$lbl_required_symbol}</span><br>
\t\t<p><input name='name' type="text" size='20' maxlength="255"value=""><br>
 \t\t{$mod_strings['LBL_TYPE']}&nbsp;<br>
\t\t<select name='type' >{$type_options}</select><br>
\t\t{$mod_strings['LBL_RELEASE']}&nbsp;<br>
\t\t<select name='found_in_release' >{$release_options}</select><br>
\t\t{$mod_strings['LBL_PRIORITY']}&nbsp;<br>
\t\t<select name='priority' >{$priority_options}</select>
</p><p>\t\t<input title="{$lbl_save_button_title}" accessKey="{$lbl_save_button_key}" class="button" type="submit" name="button" value="  {$lbl_save_button_label}  " ></p>

\t\t</form>
EOQ;
    require_once 'include/javascript/javascript.php';
    require_once 'modules/Bugs/Bug.php';
    $javascript = new javascript();
    $javascript->setFormName('BugSave');
    $javascript->setSugarBean(new Bug());
    $javascript->addRequiredFields('');
    $the_form .= $javascript->getScript();
    $the_form .= get_left_form_footer();
    return $the_form;
}
 function get_field_list($value, $fields, $translate = true)
 {
     Log::info('Begin: SoapHelperWebServices->get_field_list');
     $module_fields = array();
     $link_fields = array();
     if (!empty($value->field_defs)) {
         foreach ($value->field_defs as $var) {
             if (!empty($fields) && !in_array($var['name'], $fields)) {
                 continue;
             }
             if (isset($var['source']) && ($var['source'] != 'db' && $var['source'] != 'non-db' && $var['source'] != 'custom_fields') && $var['name'] != 'email1' && $var['name'] != 'email2' && (!isset($var['type']) || $var['type'] != 'relate')) {
                 continue;
             }
             if (isset($var['source']) && $var['source'] == 'non_db' && (isset($var['type']) && $var['type'] != 'link')) {
                 continue;
             }
             $required = 0;
             $options_dom = array();
             $options_ret = array();
             // Apparently the only purpose of this check is to make sure we only return fields
             //   when we've read a record.  Otherwise this function is identical to get_module_field_list
             if (isset($var['required']) && ($var['required'] || $var['required'] == 'true')) {
                 $required = 1;
             }
             if ($var['type'] == 'bool') {
                 $var['options'] = 'checkbox_dom';
             }
             if (isset($var['options'])) {
                 $options_dom = translate($var['options'], $value->module_dir);
                 if (!is_array($options_dom)) {
                     $options_dom = array();
                 }
                 foreach ($options_dom as $key => $oneOption) {
                     $options_ret[$key] = $this->get_name_value($key, $oneOption);
                 }
             }
             if (!empty($var['dbType']) && $var['type'] == 'bool') {
                 $options_ret['type'] = $this->get_name_value('type', $var['dbType']);
             }
             $entry = array();
             $entry['name'] = $var['name'];
             $entry['type'] = $var['type'];
             $entry['group'] = isset($var['group']) ? $var['group'] : '';
             $entry['id_name'] = isset($var['id_name']) ? $var['id_name'] : '';
             if ($var['type'] == 'link') {
                 $entry['relationship'] = isset($var['relationship']) ? $var['relationship'] : '';
                 $entry['module'] = isset($var['module']) ? $var['module'] : '';
                 $entry['bean_name'] = isset($var['bean_name']) ? $var['bean_name'] : '';
                 $link_fields[$var['name']] = $entry;
             } else {
                 if ($translate) {
                     $entry['label'] = isset($var['vname']) ? translate($var['vname'], $value->module_dir) : $var['name'];
                 } else {
                     $entry['label'] = isset($var['vname']) ? $var['vname'] : $var['name'];
                 }
                 $entry['required'] = $required;
                 $entry['options'] = $options_ret;
                 $entry['related_module'] = isset($var['id_name']) && isset($var['module']) ? $var['module'] : '';
                 $entry['calculated'] = isset($var['calculated']) && $var['calculated'] ? true : false;
                 if (isset($var['default'])) {
                     $entry['default_value'] = $var['default'];
                 }
                 if ($var['type'] == 'parent' && isset($var['type_name'])) {
                     $entry['type_name'] = $var['type_name'];
                 }
                 $module_fields[$var['name']] = $entry;
             }
             // else
         }
         //foreach
     }
     //if
     if ($value->module_dir == 'Meetings' || $value->module_dir == 'Calls') {
         if (isset($module_fields['duration_minutes']) && isset($GLOBALS['app_list_strings']['duration_intervals'])) {
             $options_dom = $GLOBALS['app_list_strings']['duration_intervals'];
             $options_ret = array();
             foreach ($options_dom as $key => $oneOption) {
                 $options_ret[$key] = $this->get_name_value($key, $oneOption);
             }
             $module_fields['duration_minutes']['options'] = $options_ret;
         }
     }
     if ($value->module_dir == 'Bugs') {
         require_once 'modules/Releases/Release.php';
         $seedRelease = new Release();
         $options = $seedRelease->get_releases(TRUE, "Active");
         $options_ret = array();
         foreach ($options as $name => $value) {
             $options_ret[] = array('name' => $name, 'value' => $value);
         }
         if (isset($module_fields['fixed_in_release'])) {
             $module_fields['fixed_in_release']['type'] = 'enum';
             $module_fields['fixed_in_release']['options'] = $options_ret;
         }
         if (isset($module_fields['found_in_release'])) {
             $module_fields['found_in_release']['type'] = 'enum';
             $module_fields['found_in_release']['options'] = $options_ret;
         }
         if (isset($module_fields['release'])) {
             $module_fields['release']['type'] = 'enum';
             $module_fields['release']['options'] = $options_ret;
         }
         if (isset($module_fields['release_name'])) {
             $module_fields['release_name']['type'] = 'enum';
             $module_fields['release_name']['options'] = $options_ret;
         }
     }
     if (isset($value->assigned_user_name) && isset($module_fields['assigned_user_id'])) {
         $module_fields['assigned_user_name'] = $module_fields['assigned_user_id'];
         $module_fields['assigned_user_name']['name'] = 'assigned_user_name';
     }
     if (isset($value->assigned_name) && isset($module_fields['team_id'])) {
         $module_fields['team_name'] = $module_fields['team_id'];
         $module_fields['team_name']['name'] = 'team_name';
     }
     if (isset($module_fields['modified_user_id'])) {
         $module_fields['modified_by_name'] = $module_fields['modified_user_id'];
         $module_fields['modified_by_name']['name'] = 'modified_by_name';
     }
     if (isset($module_fields['created_by'])) {
         $module_fields['created_by_name'] = $module_fields['created_by'];
         $module_fields['created_by_name']['name'] = 'created_by_name';
     }
     Log::info('End: SoapHelperWebServices->get_field_list');
     return array('module_fields' => $module_fields, 'link_fields' => $link_fields);
 }
function new_get_field_list($value, $translate = true)
{
    $module_fields = array();
    $link_fields = array();
    if (!empty($value->field_defs)) {
        foreach ($value->field_defs as $var) {
            if (isset($var['source']) && ($var['source'] != 'db' && $var['source'] != 'non-db' && $var['source'] != 'custom_fields') && $var['name'] != 'email1' && $var['name'] != 'email2' && (!isset($var['type']) || $var['type'] != 'relate')) {
                continue;
            }
            if ($var['source'] == 'non_db' && (isset($var['type']) && $var['type'] != 'link')) {
                continue;
            }
            $required = 0;
            $options_dom = array();
            $options_ret = array();
            // Apparently the only purpose of this check is to make sure we only return fields
            //   when we've read a record.  Otherwise this function is identical to get_module_field_list
            if (!empty($var['required'])) {
                $required = 1;
            }
            if (isset($var['options'])) {
                $options_dom = translate($var['options'], $value->module_dir);
                if (!is_array($options_dom)) {
                    $options_dom = array();
                }
                foreach ($options_dom as $key => $oneOption) {
                    $options_ret[] = get_name_value($key, $oneOption);
                }
            }
            if (!empty($var['dbType']) && $var['type'] == 'bool') {
                $options_ret[] = get_name_value('type', $var['dbType']);
            }
            $entry = array();
            $entry['name'] = $var['name'];
            $entry['type'] = $var['type'];
            if ($var['type'] == 'link') {
                $entry['relationship'] = isset($var['relationship']) ? $var['relationship'] : '';
                $entry['module'] = isset($var['module']) ? $var['module'] : '';
                $entry['bean_name'] = isset($var['bean_name']) ? $var['bean_name'] : '';
                $link_fields[$var['name']] = $entry;
            } else {
                if ($translate) {
                    $entry['label'] = isset($var['vname']) ? translate($var['vname'], $value->module_dir) : $var['name'];
                } else {
                    $entry['label'] = isset($var['vname']) ? $var['vname'] : $var['name'];
                }
                $entry['required'] = $required;
                $entry['options'] = $options_ret;
                if (isset($var['default'])) {
                    $entry['default_value'] = $var['default'];
                }
                $module_fields[$var['name']] = $entry;
            }
            // else
        }
        //foreach
    }
    //if
    if ($value->module_dir == 'Bugs') {
        $seedRelease = new Release();
        $options = $seedRelease->get_releases(TRUE, "Active");
        $options_ret = array();
        foreach ($options as $name => $value) {
            $options_ret[] = array('name' => $name, 'value' => $value);
        }
        if (isset($module_fields['fixed_in_release'])) {
            $module_fields['fixed_in_release']['type'] = 'enum';
            $module_fields['fixed_in_release']['options'] = $options_ret;
        }
        if (isset($module_fields['release'])) {
            $module_fields['release']['type'] = 'enum';
            $module_fields['release']['options'] = $options_ret;
        }
        if (isset($module_fields['release_name'])) {
            $module_fields['release_name']['type'] = 'enum';
            $module_fields['release_name']['options'] = $options_ret;
        }
    }
    if (isset($value->assigned_user_name) && isset($module_fields['assigned_user_id'])) {
        $module_fields['assigned_user_name'] = $module_fields['assigned_user_id'];
        $module_fields['assigned_user_name']['name'] = 'assigned_user_name';
    }
    if (isset($module_fields['modified_user_id'])) {
        $module_fields['modified_by_name'] = $module_fields['modified_user_id'];
        $module_fields['modified_by_name']['name'] = 'modified_by_name';
    }
    if (isset($module_fields['created_by'])) {
        $module_fields['created_by_name'] = $module_fields['created_by'];
        $module_fields['created_by_name']['name'] = 'created_by_name';
    }
    return array('module_fields' => $module_fields, 'link_fields' => $link_fields);
}
}
$xtpl->assign("ASSIGNED_USER_OPTIONS", get_select_options_with_id(get_user_array(TRUE, "Active", $focus->assigned_user_id), $focus->assigned_user_id));
$xtpl->assign("ASSIGNED_USER_NAME", $focus->assigned_user_name);
$xtpl->assign("ASSIGNED_USER_ID", $focus->assigned_user_id);
$xtpl->assign("STATUS_OPTIONS", get_select_options_with_id($app_list_strings['bug_status_dom'], $focus->status));
if (!empty($focus->resolution)) {
    $xtpl->assign("RESOLUTION_OPTIONS", get_select_options_with_id($app_list_strings['bug_resolution_dom'], $focus->resolution));
} else {
    $xtpl->assign("RESOLUTION_OPTIONS", get_select_options_with_id($app_list_strings['bug_resolution_dom'], $app_list_strings['bug_resolution_default_key']));
}
if (!empty($focus->type)) {
    $xtpl->assign("TYPE_OPTIONS", get_select_options_with_id($app_list_strings['bug_type_dom'], $focus->type));
} else {
    $xtpl->assign("TYPE_OPTIONS", get_select_options_with_id($app_list_strings['bug_type_dom'], $app_list_strings['bug_type_default_key']));
}
$xtpl->assign("RELEASE_OPTIONS", get_select_options_with_id($seedRelease->get_releases(TRUE, "Active"), $focus->found_in_release));
$xtpl->assign("FIXED_IN_RELEASE_OPTIONS", get_select_options_with_id($seedRelease->get_releases(TRUE, "Active"), $focus->fixed_in_release));
if (empty($focus->priority)) {
    $xtpl->assign("PRIORITY_OPTIONS", get_select_options_with_id($app_list_strings['bug_priority_dom'], $app_list_strings['bug_priority_default_key']));
} else {
    $xtpl->assign("PRIORITY_OPTIONS", get_select_options_with_id($app_list_strings['bug_priority_dom'], $focus->priority));
}
//Add Custom Fields
require_once 'modules/DynamicFields/templates/Files/EditView.php';
///////////////////////////////////////////////////////////////////////////////
////	INBOUND EMAIL HANDLING
///////////////////////////////////////////////////////////////////////////////
if (isset($_REQUEST['inbound_email_id'])) {
    require_once 'modules/Emails/Email.php';
    $email = new Email();
    $email->retrieve($_REQUEST['inbound_email_id']);
function getReleaseDropDown()
{
    static $releases = null;
    if (!$releases) {
        $seedRelease = new Release();
        $releases = $seedRelease->get_releases(TRUE, "Active");
    }
    return $releases;
}
/**
 * Retrieve field data for a provided SugarBean.
 *
 * @param SugarBean $value -- The bean to retrieve the field information for.
 * @return Array -- 'field'=>   'name' -- the name of the field
 *                              'type' -- the data type of the field
 *                              'label' -- the translation key for the label of the field
 *                              'required' -- Is the field required?
 *                              'options' -- Possible values for a drop down field
 */
function get_field_list(&$value)
{
    $list = array();
    if (!empty($value->field_defs)) {
        foreach ($value->field_defs as $var) {
            if (isset($var['source']) && $var['source'] != 'db' && (!isset($var['type']) || $var['type'] != 'relate')) {
                continue;
            }
            $required = 0;
            $options_dom = array();
            $options_ret = array();
            // Apparently the only purpose of this check is to make sure we only return fields
            //   when we've read a record.  Otherwise this function is identical to get_module_field_list
            if (isset($value->required_fields) && key_exists($var['name'], $value->required_fields)) {
                $required = 1;
            }
            if (isset($var['options'])) {
                $options_dom = translate($var['options'], $value->module_dir);
                if (!is_array($options_dom)) {
                    $options_dom = array();
                }
                foreach ($options_dom as $key => $oneOption) {
                    $options_ret[] = get_name_value($key, $oneOption);
                }
            }
            $list[$var['name']] = array('name' => $var['name'], 'type' => $var['type'], 'label' => translate($var['vname'], $value->module_dir), 'required' => $required, 'options' => $options_ret);
        }
    }
    if ($value->module_dir == 'Bugs') {
        require_once 'modules/Releases/Release.php';
        $seedRelease = new Release();
        $options = $seedRelease->get_releases(TRUE, "Active");
        $options_ret = array();
        foreach ($options as $name => $value) {
            $options_ret[] = array('name' => $name, 'value' => $value);
        }
        if (isset($list['fixed_in_release'])) {
            $list['fixed_in_release']['type'] = 'enum';
            $list['fixed_in_release']['options'] = $options_ret;
        }
        if (isset($list['release'])) {
            $list['release']['type'] = 'enum';
            $list['release']['options'] = $options_ret;
        }
        if (isset($list['release_name'])) {
            $list['release_name']['type'] = 'enum';
            $list['release_name']['options'] = $options_ret;
        }
    }
    if (isset($value->assigned_user_name) && isset($list['assigned_user_id'])) {
        $list['assigned_user_name'] = $list['assigned_user_id'];
        $list['assigned_user_name']['name'] = 'assigned_user_name';
    }
    if (isset($list['modified_user_id'])) {
        $list['modified_by_name'] = $list['modified_user_id'];
        $list['modified_by_name']['name'] = 'modified_by_name';
    }
    if (isset($list['created_by'])) {
        $list['created_by_name'] = $list['created_by'];
        $list['created_by_name']['name'] = 'created_by_name';
    }
    return $list;
}
Example #9
0
 public static function get_field_list($module, $translate = true)
 {
     $value = BeanFactory::getBean($module);
     // Получаем bean текущего модуля
     $list = array();
     if (!empty($value->field_defs)) {
         foreach ($value->field_defs as $var) {
             if ($var['type'] != 'id' && $var['name'] != 'assigned_user_id' && $var['name'] != 'modified_user_id' && $var['name'] != 'account_id' && $var['name'] != 'created_by') {
                 if (isset($var['source']) && ($var['source'] != 'db' && $var['source'] != 'custom_fields') && $var['name'] != 'email1' && $var['name'] != 'email2' && (!isset($var['type']) || $var['type'] != 'relate') && $var['type'] != 'id') {
                     continue;
                 }
                 $required = 0;
                 $options_dom = array();
                 $options_ret = array();
                 // Apparently the only purpose of this check is to make sure we only return fields
                 //   when we've read a record.  Otherwise this function is identical to get_module_field_list
                 if (!empty($var['required'])) {
                     $required = 1;
                 }
                 if (isset($var['options'])) {
                     $options_dom = translate($var['options'], $value->module_dir);
                     if (!is_array($options_dom)) {
                         $options_dom = array();
                     }
                     foreach ($options_dom as $key => $oneOption) {
                         $options_ret[] = self::get_name_value($key, $oneOption);
                     }
                 }
                 if (!empty($var['dbType']) && $var['type'] == 'bool') {
                     $options_ret[] = self::get_name_value('type', $var['dbType']);
                 }
                 $entry = array();
                 $entry['name'] = $var['name'];
                 $entry['type'] = $var['type'];
                 if ($translate) {
                     $entry['label'] = isset($var['vname']) ? translate($var['vname'], $value->module_dir) : $var['name'];
                 } else {
                     $entry['label'] = isset($var['vname']) ? $var['vname'] : $var['name'];
                 }
                 $entry['required'] = $required;
                 $entry['options'] = $options_ret;
                 if (isset($var['default'])) {
                     $entry['default_value'] = $var['default'];
                 }
                 $list[$var['name']] = $entry;
             }
         }
         //foreach
     }
     //if
     if ($value->module_dir == 'Bugs') {
         $seedRelease = new Release();
         $options = $seedRelease->get_releases(TRUE, "Active");
         $options_ret = array();
         foreach ($options as $name => $value) {
             $options_ret[] = array('name' => $name, 'value' => $value);
         }
         if (isset($list['fixed_in_release'])) {
             $list['fixed_in_release']['type'] = 'enum';
             $list['fixed_in_release']['options'] = $options_ret;
         }
         if (isset($list['release'])) {
             $list['release']['type'] = 'enum';
             $list['release']['options'] = $options_ret;
         }
         if (isset($list['release_name'])) {
             $list['release_name']['type'] = 'enum';
             $list['release_name']['options'] = $options_ret;
         }
     }
     if ($value->module_dir == 'Emails') {
         $fields = array('from_addr_name', 'reply_to_addr', 'to_addrs_names', 'cc_addrs_names', 'bcc_addrs_names');
         foreach ($fields as $field) {
             $var = $value->field_defs[$field];
             $required = 0;
             $entry = array();
             $entry['name'] = $var['name'];
             $entry['type'] = $var['type'];
             if ($translate) {
                 $entry['label'] = isset($var['vname']) ? translate($var['vname'], $value->module_dir) : $var['name'];
             } else {
                 $entry['label'] = isset($var['vname']) ? $var['vname'] : $var['name'];
             }
             $entry['required'] = $required;
             $entry['options'] = array();
             if (isset($var['default'])) {
                 $entry['default_value'] = $var['default'];
             }
             $list[$var['name']] = $entry;
         }
     }
     if (isset($value->assigned_user_name) && isset($list['assigned_user_id'])) {
         $list['assigned_user_name'] = $list['assigned_user_id'];
         $list['assigned_user_name']['name'] = 'assigned_user_name';
     }
     if (isset($list['modified_user_id'])) {
         $list['modified_by_name'] = $list['modified_user_id'];
         $list['modified_by_name']['name'] = 'modified_by_name';
     }
     if (isset($list['created_by'])) {
         $list['created_by_name'] = $list['created_by'];
         $list['created_by_name']['name'] = 'created_by_name';
     }
     return $list;
 }
global $theme;
global $current_user;
// focus_list is the means of passing data to a ListView.
global $focus_list;
// setup quicksearch
require_once 'include/QuickSearchDefaults.php';
$qsd = new QuickSearchDefaults();
// clear the display columns back to default when clear query is called
if (!empty($_REQUEST['clear_query']) && $_REQUEST['clear_query'] == 'true') {
    $current_user->setPreference('ListViewDisplayColumns', array(), 0, $currentModule);
}
$savedDisplayColumns = $current_user->getPreference('ListViewDisplayColumns', $currentModule);
// get user defined display columns
$json = getJSONobj();
$seedRelease = new Release();
$bug_release_dom = $seedRelease->get_releases(false, "Active");
$GLOBALS['app_list_strings']['bug_release_dom'] = $bug_release_dom;
$seedBug = new Bug();
// seed bean
$searchForm = new SearchForm('Bugs', $seedBug);
// new searchform instance
// setup listview smarty
$lv = new ListViewSmarty();
$displayColumns = array();
// check $_REQUEST if new display columns from post
if (!empty($_REQUEST['displayColumns'])) {
    foreach (explode('|', $_REQUEST['displayColumns']) as $num => $col) {
        if (!empty($listViewDefs['Bugs'][$col])) {
            $displayColumns[$col] = $listViewDefs['Bugs'][$col];
        }
    }