summaryrefslogtreecommitdiff
path: root/modules/simpletest/tests
diff options
context:
space:
mode:
Diffstat (limited to 'modules/simpletest/tests')
-rw-r--r--modules/simpletest/tests/field_test.module30
1 files changed, 21 insertions, 9 deletions
diff --git a/modules/simpletest/tests/field_test.module b/modules/simpletest/tests/field_test.module
index 538071dee..a3cd45125 100644
--- a/modules/simpletest/tests/field_test.module
+++ b/modules/simpletest/tests/field_test.module
@@ -49,6 +49,15 @@ function field_test_menu() {
return $items;
}
+/**
+ * Implements hook_field_access().
+ */
+function field_test_field_access($op, $field, $obj_type, $object, $account) {
+ if ($field['field_name'] == "field_no_{$op}_access") {
+ return FALSE;
+ }
+ return TRUE;
+}
/**
*
@@ -312,7 +321,7 @@ function field_test_entity_add($fttype) {
$fttype = str_replace('-', '_', $fttype);
$entity = (object)array('fttype' => $fttype);
drupal_set_title(t('Create test_entity @bundle', array('@bundle' => $fttype)), PASS_THROUGH);
- return drupal_get_form('field_test_entity_form', $entity);
+ return drupal_get_form('field_test_entity_form', $entity, TRUE);
}
function field_test_entity_edit($entity) {
@@ -323,7 +332,7 @@ function field_test_entity_edit($entity) {
/**
* Form to set the value of fields attached to our entity.
*/
-function field_test_entity_form($form, &$form_state, $entity) {
+function field_test_entity_form($form, &$form_state, $entity, $add = FALSE) {
if (isset($form_state['test_entity'])) {
$entity = $form_state['test_entity'] + (array)$entity;
}
@@ -340,13 +349,15 @@ function field_test_entity_form($form, &$form_state, $entity) {
$form['#builder_function'] = 'field_test_entity_form_submit_builder';
field_attach_form('test_entity', $entity, $form, $form_state);
- $form['revision'] = array(
- '#access' => user_access('administer field_test content'),
- '#type' => 'checkbox',
- '#title' => t('Create new revision'),
- '#default_value' => FALSE,
- '#weight' => 100,
- );
+ if (!$add) {
+ $form['revision'] = array(
+ '#access' => user_access('administer field_test content'),
+ '#type' => 'checkbox',
+ '#title' => t('Create new revision'),
+ '#default_value' => FALSE,
+ '#weight' => 100,
+ );
+ }
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
@@ -391,6 +402,7 @@ function field_test_entity_form_submit($form, &$form_state) {
*/
function field_test_entity_form_submit_builder($form, &$form_state) {
$entity = field_test_create_stub_entity($form_state['values']['ftid'], $form_state['values']['ftvid'], $form_state['values']['fttype']);
+ $entity->revision = !empty($form_state['values']['revision']);
field_attach_submit('test_entity', $entity, $form, $form_state);
$form_state['test_entity'] = (array)$entity;