Craft\QuickFieldController::actionSaveField PHP Method

actionSaveField() public method

Saves a new field to the database.
public actionSaveField ( )
    public function actionSaveField()
    {
        $this->requireAdmin();
        $this->requirePostRequest();
        $this->requireAjaxRequest();
        $field = new FieldModel();
        $field->id = craft()->request->getPost('qf.fieldId');
        $field->groupId = craft()->request->getRequiredPost('qf.group');
        $field->name = craft()->request->getPost('qf.name');
        $field->handle = craft()->request->getPost('qf.handle');
        $field->instructions = craft()->request->getPost('qf.instructions');
        $field->translatable = (bool) craft()->request->getPost('qf.translatable');
        $field->type = craft()->request->getRequiredPost('qf.type');
        $typeSettings = craft()->request->getPost('qf.types');
        if (isset($typeSettings[$field->type])) {
            $field->settings = $typeSettings[$field->type];
        }
        $group = craft()->fields->getGroupById($field->groupId);
        $success = $group && craft()->fields->saveField($field);
        $this->returnJson(array('success' => $success, 'errors' => $field->getAllErrors(), 'field' => array('id' => $field->id, 'name' => $field->name, 'handle' => $field->handle, 'instructions' => $field->instructions, 'translatable' => $field->translatable, 'group' => !$group ? array() : array('id' => $group->id, 'name' => $group->name)), 'template' => $success ? false : $this->_getTemplate($field)));
    }