Commit 1fa0d60c authored by donSchoe's avatar donSchoe
Browse files

Issue #2258483 by donSchoe: Prepare revision object for saving

parent 49e32bb1
Loading
Loading
Loading
Loading
+24 −10
Changes for user_revision_edit.module: 24 added lines, 10 removed lines.
Original line number Diff line number Diff line
@@ -220,10 +220,10 @@ function user_revision_edit_form($form, $form_state, $user_revision) {
  module_load_include('inc', 'user', 'user.pages');
  $form = drupal_get_form('user_profile_form', $user_revision, 'account', 'edit_revision');
  $form['#user_revision'] = $user_revision;
  $form['#token'] = 'user_revision_edit_form';
  $form['#form_id'] = 'user_revision_edit_form';
  $form['form_id']['#value'] = 'user_revision_edit_form';
  $form['form_id']['#id'] = 'edit-user-revision-edit-form';
  //$form['#token'] = 'user_revision_edit_form';
  //$form['#form_id'] = 'user_revision_edit_form';
  //$form['form_id']['#value'] = 'user_revision_edit_form';
  //$form['form_id']['#id'] = 'edit-user-revision-edit-form';
  $form['#submit'] = array('user_revision_edit_form_submit');
  $form['actions']['cancel']['#type'] = 'button';
  $form['actions']['cancel']['#value'] = t('Cancel');
@@ -238,8 +238,12 @@ function user_revision_edit_form($form, $form_state, $user_revision) {
 */
function user_revision_edit_form_submit($form, &$form_state) {
  $user_revision = $form['#user_revision'];
  $user_revision->revision = 1;
  _user_revision_edit_save($user_revision);

  // TODO changes not visible yet, find out why?
  $changes = $form_state['values'];
  dpm($changes);

  _user_revision_edit_save($user_revision, $changes);
  watchdog('user',
           'Modified %title revision %revision.',
            array('%title' => $user_revision->name,
@@ -251,7 +255,7 @@ function user_revision_edit_form_submit($form, &$form_state) {
 * Validate callback for edit revision form.
 */
function user_revision_edit_form_validate($form, &$form_state) {
  // @TODO
  // @TODO validate
}

/**
@@ -296,7 +300,17 @@ function _user_revision_edit_access($u, $perm) {
/**
 * Save record to the database.
 */
function _user_revision_edit_save($revision) {
  //@TODO
  dpm($revision);
function _user_revision_edit_save($revision, $edits) {

  // applies edits to revision
  foreach ($edits as $type => $value)
    if (isset($revision->$type) && $revision->$type != $value)
      $revision->$type = $value;

  // updates revision object
  $revision->revision = 1;
  $revision->revision_timestamp = time();

  //@TODO save revision

}