ajax-ify approved transcript editing
This commit is contained in:
parent
2746d66882
commit
bb9f29a1fd
@ -389,6 +389,8 @@ class WhatDidTheySayAdmin {
|
||||
* @return string|false A string if a message is to be displayed, or false if no message.
|
||||
*/
|
||||
function handle_update_manage_post_transcripts($info) {
|
||||
if (!is_admin()) { $this->is_ajax = true; }
|
||||
|
||||
$updated = false;
|
||||
if (current_user_can('approve_transcriptions')) {
|
||||
$approved_transcript_manager = new WDTSApprovedTranscript($info['post_id']);
|
||||
@ -417,9 +419,17 @@ class WhatDidTheySayAdmin {
|
||||
foreach (array_keys($transcripts_to_delete) as $id) { $queued_transcripts->delete_transcript($id); }
|
||||
}
|
||||
|
||||
$updated = __('Transcripts updated.', 'what-did-they-say');
|
||||
if (is_admin()) {
|
||||
$updated = __('Transcripts updated.', 'what-did-they-say');
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (is_admin()) {
|
||||
return $updated;
|
||||
} else {
|
||||
header('HTTP/1.1 401 Unauthorized');
|
||||
}
|
||||
return $updated;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -11,7 +11,9 @@
|
||||
'scene_action': '<?php _e('Enter the scene action:', 'what-did-they-say') ?>',
|
||||
'dialog_name': '<?php _e('Enter the character name:', 'what-did-they-say') ?>',
|
||||
'dialog_direction': '<?php _e('Enter the direction in which the character is speaking:', 'what-did-they-say') ?>',
|
||||
'dialog_speech': '<?php _e('Enter what the character is speaking:', 'what-did-they-say') ?>'
|
||||
'dialog_speech': '<?php _e('Enter what the character is speaking:', 'what-did-they-say') ?>',
|
||||
'transcripts_updated': '<?php _e('Transcripts updated.', 'what-did-they-say') ?>',
|
||||
'transcripts_failure': '<?php _e('Transcript update failure!', 'what-did-they-say') ?>'
|
||||
};
|
||||
|
||||
WhatDidTheySay.button_labels = {
|
||||
|
35
classes/partials/_manage-queued-transcripts.inc
Normal file
35
classes/partials/_manage-queued-transcripts.inc
Normal file
@ -0,0 +1,35 @@
|
||||
<?php if ((count($queued_transcripts_for_user) > 0) && !current_user_can('approve_transcriptions')) { ?>
|
||||
<h3 style="margin-top: 0.5em"><?php _e('Your Submitted Transcripts:', 'what-did-they-say') ?></h3>
|
||||
<?php
|
||||
foreach ($queued_transcripts_for_user as $transcript) {
|
||||
include(dirname(__FILE__) . '/classes/partials/_display-queued-transcript.inc');
|
||||
}
|
||||
?>
|
||||
<?php } ?>
|
||||
<?php if (current_user_can('submit_transcriptions')) { ?>
|
||||
<?php if ($transcript_options->are_new_transcripts_allowed()) { ?>
|
||||
<h3 class="wdts"><?php _e('Submit a new transcript:', 'what-did-they-say') ?></h3>
|
||||
<form method="post" id="<?php echo $id = "wdts-" . md5(rand()) ?>">
|
||||
<input type="hidden" name="wdts[_nonce]" value="<?php echo wp_create_nonce('what-did-they-say') ?>" />
|
||||
<input type="hidden" name="wdts[module]" value="queue-transcript" />
|
||||
<input type="hidden" name="wdts[post_id]" value="<?php echo $post->ID ?>" />
|
||||
|
||||
<div class="wdts-transcript-editor">
|
||||
<label>
|
||||
<?php _e('Language:', 'what-did-they-say') ?>
|
||||
<select name="wdts[language]">
|
||||
<?php foreach ($language_options->get_languages() as $code => $info) { ?>
|
||||
<option value="<?php echo $code ?>"><?php echo $info['name'] ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</label>
|
||||
|
||||
<div class="wdts-button-holder"></div>
|
||||
|
||||
<textarea style="height: 200px; width: 99%" name="wdts[transcript]"></textarea>
|
||||
<input type="submit" value="<?php _e('Submit For Approval', 'what-did-they-say') ?>" />
|
||||
</div>
|
||||
</form>
|
||||
<script type="text/javascript">WhatDidTheySay.setup_transcript_editor('<?php echo $id ?>')</script>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
@ -1,5 +1,3 @@
|
||||
<input type="hidden" name="wdts[_nonce]" value="<?php echo $nonce ?>" />
|
||||
<input type="hidden" name="wdts[module]" value="manage-post-transcripts" />
|
||||
<input type="hidden" name="wdts[post_id]" value="<?php echo $post->ID ?>" />
|
||||
|
||||
<label>
|
||||
@ -41,6 +39,8 @@
|
||||
} ?>
|
||||
<textarea class="edit-transcript" name="wdts[transcripts][<?php echo $code ?>]" style="display: none; width: 99%; height: 200px"><?php echo $approved_transcript_text ?></textarea>
|
||||
<?php } ?>
|
||||
<input type="button" class="wdts-modify-transcript" value="<?php _e('Update All Transcripts', 'what-did-they-say') ?>" />
|
||||
<span class="wdts-update-message"></span>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
|
@ -99,7 +99,51 @@ WhatDidTheySay.setup_transcript_editor = function(container) {
|
||||
|
||||
button_holder.insert(b);
|
||||
});
|
||||
}
|
||||
|
||||
// submit button handling
|
||||
var submit_button = container.select('.wdts-modify-transcript').pop();
|
||||
var update_message = container.select('.wdts-update-message').pop();
|
||||
var post_id = $(container.parentNode).select("input[name*=[post_id]]").shift();
|
||||
|
||||
if (submit_button && update_message && post_id) {
|
||||
post_id = post_id.value;
|
||||
submit_button.observe('click', function(e) {
|
||||
Event.stop(e);
|
||||
|
||||
var parameters = {
|
||||
'wdts[_nonce]': WhatDidTheySay.nonce,
|
||||
'wdts[module]': 'manage-post-transcripts',
|
||||
'wdts[post_id]': post_id
|
||||
};
|
||||
|
||||
container.select('textarea').each(function(t) {
|
||||
parameters[t.name] = t.value;
|
||||
});
|
||||
|
||||
var update_update_message = function(message) {
|
||||
update_message.update(message);
|
||||
update_message.setOpacity(1);
|
||||
update_message.show();
|
||||
new Effect.Highlight(update_message, { endcolor: '#DFDFDF'} );
|
||||
|
||||
new PeriodicalExecuter(function(pe) {
|
||||
pe.stop();
|
||||
new Effect.Fade(update_message, {
|
||||
from: 1, to: 0, duration: 0.25, afterFinish: function() { update_message.update("") }
|
||||
});
|
||||
}, 3);
|
||||
}
|
||||
|
||||
new Ajax.Request(
|
||||
WhatDidTheySay.ajax_url, {
|
||||
'method': 'post',
|
||||
'parameters': parameters,
|
||||
'onSuccess': function() { update_update_message(WhatDidTheySay.messages.transcripts_updated); },
|
||||
'onFailure': function() { update_update_message(WhatDidTheySay.messages.transcripts_failure); },
|
||||
}
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
@ -108,14 +152,10 @@ WhatDidTheySay.setup_transcript_editor = function(container) {
|
||||
* Set up action buttons for queued transcripts.
|
||||
*/
|
||||
WhatDidTheySay.setup_transcript_action_buttons = function(container, approved_editor_container) {
|
||||
top.console.log(approved_editor_container);
|
||||
|
||||
if (container && approved_editor_container) {
|
||||
container = $(container);
|
||||
approved_editor_container = $(approved_editor_container);
|
||||
|
||||
top.console.log(approved_editor_container);
|
||||
|
||||
var actions_holder = container.select('.queued-transcript-actions').pop();
|
||||
|
||||
if (actions_holder) {
|
||||
|
@ -214,46 +214,14 @@ function the_media_transcript_queue_editor() {
|
||||
?>
|
||||
<?php if (current_user_can('approve_transcriptions')) { ?>
|
||||
<h3 class="wdts"><?php _e('Manage Transcripts:', 'what-did-they-say') ?></h3>
|
||||
<form method="post" class="transcript-editor">
|
||||
<form method="post" id="wdts-<?php echo $id = md5(rand()) ?>">
|
||||
<?php include(dirname(__FILE__) . '/classes/partials/meta-box.inc') ?>
|
||||
<input type="submit" value="Modify Transcript" />
|
||||
</form>
|
||||
<script type="text/javascript">
|
||||
$('wdts-<?php echo $id ?>').observe('submit', function(e) { Event.stop(e); });
|
||||
</script>
|
||||
<?php } ?>
|
||||
<?php if ((count($queued_transcripts_for_user) > 0) && !current_user_can('approve_transcriptions')) { ?>
|
||||
<h3 style="margin-top: 0.5em"><?php _e('Your Submitted Transcripts:', 'what-did-they-say') ?></h3>
|
||||
<?php
|
||||
foreach ($queued_transcripts_for_user as $transcript) {
|
||||
include(dirname(__FILE__) . '/classes/partials/_display-queued-transcript.inc');
|
||||
}
|
||||
?>
|
||||
<?php } ?>
|
||||
<?php if (current_user_can('submit_transcriptions')) { ?>
|
||||
<?php if ($transcript_options->are_new_transcripts_allowed()) { ?>
|
||||
<h3 class="wdts"><?php _e('Submit a new transcript:', 'what-did-they-say') ?></h3>
|
||||
<form method="post" id="<?php echo $id = "wdts-" . md5(rand()) ?>">
|
||||
<input type="hidden" name="wdts[_nonce]" value="<?php echo wp_create_nonce('what-did-they-say') ?>" />
|
||||
<input type="hidden" name="wdts[module]" value="queue-transcript" />
|
||||
<input type="hidden" name="wdts[post_id]" value="<?php echo $post->ID ?>" />
|
||||
|
||||
<div class="wdts-transcript-editor">
|
||||
<label>
|
||||
<?php _e('Language:', 'what-did-they-say') ?>
|
||||
<select name="wdts[language]">
|
||||
<?php foreach ($language_options->get_languages() as $code => $info) { ?>
|
||||
<option value="<?php echo $code ?>"><?php echo $info['name'] ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
</label>
|
||||
|
||||
<div class="wdts-button-holder"></div>
|
||||
|
||||
<textarea style="height: 200px; width: 99%" name="wdts[transcript]"></textarea>
|
||||
<input type="submit" value="<?php _e('Submit For Approval', 'what-did-they-say') ?>" />
|
||||
</div>
|
||||
</form>
|
||||
<script type="text/javascript">WhatDidTheySay.setup_transcript_editor('<?php echo $id ?>')</script>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php include(dirname(__FILE__) . '/classes/partials/_manage-queued-transcripts.inc') ?>
|
||||
<?php }
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user