Making WordPress.org

Changeset 3858


Ignore:
Timestamp:
08/25/2016 01:29:07 PM (10 years ago)
Author:
kovshenin
Message:

WordCamp Budgets: Add the "Request Review" workflow for budgets.

Location:
sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-payments
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/budget-tool.php

    r3856 r3858  
    2323        $budget = self::_get_budget();
    2424        $data = json_decode( wp_unslash( $_POST['_wcb_budget_data'] ), true );
     25        $user = get_user_by( 'id', get_current_user_id() );
    2526
    2627        $valid_attributes = array( 'type', 'category', 'amount', 'note', 'link', 'name', 'value' );
     
    4142
    4243        if ( $budget['status'] == 'draft' && ! empty( $_POST['wcb-budget-save-draft'] ) ) {
     44            // Save draft
    4345            $budget['prelim'] = $data;
    4446        } elseif ( $budget['status'] == 'draft' && ! empty( $_POST['wcb-budget-submit'] ) ) {
     47            // Submit for Approval
    4548            $budget['prelim'] = $data;
    4649            $budget['status'] = 'pending';
     50            $domain = parse_url( home_url(), PHP_URL_HOST );
     51            $link = esc_url_raw( add_query_arg( 'page', 'wordcamp-budget', admin_url( 'admin.php' ) ) );
     52
     53            $content = "A budget approval request has been submitted for {$domain} by {$user->user_login}:\n\n{$link}\n\nYours, Mr. Budget Tool";
     54            wp_mail( 'support@wordcamp.org', 'Budget Approval Requested: ' . $domain, $content );
     55
     56        } elseif ( $budget['status'] == 'draft' && ! empty( $_POST['wcb-budget-request-review'] ) ) {
     57            // Save draft and request review
     58            $budget['prelim'] = $data;
     59            $domain = parse_url( home_url(), PHP_URL_HOST );
     60            $link = esc_url_raw( add_query_arg( 'page', 'wordcamp-budget', admin_url( 'admin.php' ) ) );
     61
     62            $content = "A budget review has been requested for {$domain} by {$user->user_login}:\n\n{$link}\n\nYours, Mr. Budget Tool";
     63            wp_mail( 'support@wordcamp.org', 'Budget Review Requested: ' . $domain, $content );
     64
    4765        } elseif ( $budget['status'] == 'pending' && current_user_can( 'wcb_approve_budget' ) ) {
    4866            if ( ! empty( $_POST['wcb-budget-reject'] ) ) {
     
    5068            } elseif ( ! empty( $_POST['wcb-budget-approve'] ) ) {
    5169                $budget['status'] = 'approved';
    52                 $budget['approved_by'] = get_current_user_id();
     70                $budget['approved_by'] = $user->ID;
    5371
    5472                // Clone the approved prelim. budget.
     
    6381
    6482        $budget['updated'] = time();
    65         $budget['updated_by'] = get_current_user_id();
     83        $budget['updated_by'] = $user->ID;
    6684
    6785        update_option( 'wcb_budget', $budget, 'no' );
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/views/budget-tool/main.php

    r3743 r3858  
    111111        <p class="submit">
    112112            <?php submit_button( 'Save Draft', 'secondary', 'wcb-budget-save-draft', false ); ?>
     113            <?php submit_button( 'Save &amp; Request Review', 'secondary', 'wcb-budget-request-review', false ); ?>
    113114            <a href="<?php echo admin_url( 'admin.php?page=wordcamp-budget' ); ?>" class="button">Cancel Changes</a>
    114115            <?php submit_button( 'Submit for Approval', 'primary', 'wcb-budget-submit', false ); ?>
Note: See TracChangeset for help on using the changeset viewer.