/**
  * 		column_default
  */
 function column_DTT_EVT_start(EE_Registration $item)
 {
     $datetime_strings = array();
     $remove_defaults = array('default_where_conditions' => 'none');
     $ticket = $item->ticket();
     $datetimes = $ticket instanceof EE_Ticket ? $ticket->datetimes($remove_defaults) : array();
     $query_args = array('action' => 'event_registrations', 'event_id' => $item->event_ID());
     foreach ($datetimes as $datetime) {
         $query_args['DTT_ID'] = $datetime->ID();
         $checkin_url = EE_Admin_Page::add_query_args_and_nonce($query_args, REG_ADMIN_URL);
         $datetime_strings[] = EE_Registry::instance()->CAP->current_user_can('ee_read_checkin', 'espresso_registrations_registration_checkins', $item->ID()) ? '<a href="' . $checkin_url . '" title="' . esc_attr__('View Checkins for this Event', 'event_espresso') . '">' . $datetime->get_i18n_datetime('DTT_EVT_start') . '</a>' : $datetime->get_i18n_datetime('DTT_EVT_start');
     }
     return implode("<br />", $datetime_strings);
 }
 function column_PRC_name(EE_Registration $item)
 {
     return $item->ticket() instanceof EE_Ticket ? $item->ticket()->name() : __("Unknown", "event_espresso");
 }
    /**
     * column_actions
     *
     * @access public
     * @param \EE_Registration $item
     * @return string
     */
    function column_actions(EE_Registration $item)
    {
        $attendee = $item->attendee();
        $ticket = $item->ticket();
        $this->_set_related_details($item);
        //Build row actions
        $view_lnk_url = EE_Admin_Page::add_query_args_and_nonce(array('action' => 'view_registration', '_REG_ID' => $item->ID()), REG_ADMIN_URL);
        $edit_lnk_url = EE_Admin_Page::add_query_args_and_nonce(array('action' => 'edit_attendee', 'post' => $item->attendee_ID()), REG_ADMIN_URL);
        // page=attendees&event_admin_reports=resend_email&registration_id=43653465634&event_id=2&form_action=resend_email
        //$resend_reg_lnk_url_params = array( 'action'=>'resend_registration', '_REG_ID'=>$item->REG_ID );
        $resend_reg_lnk_url = EE_Admin_Page::add_query_args_and_nonce(array('action' => 'resend_registration', '_REG_ID' => $item->ID()), REG_ADMIN_URL, true);
        //Build row actions
        $view_lnk = EE_Registry::instance()->CAP->current_user_can('ee_read_registration', 'espresso_registrations_view_registration', $item->ID()) ? '
			<li>
			<a href="' . $view_lnk_url . '" title="' . esc_attr__('View Registration Details', 'event_espresso') . '" class="tiny-text">
				<div class="dashicons dashicons-clipboard"></div>
			</a>
			</li>' : '';
        $edit_lnk = EE_Registry::instance()->CAP->current_user_can('ee_edit_contacts', 'espresso_registrations_edit_attendee') && $attendee instanceof EE_Attendee ? '
			<li>
			<a href="' . $edit_lnk_url . '" title="' . esc_attr__('Edit Contact Details', 'event_espresso') . '" class="tiny-text">
				<div class="ee-icon ee-icon-user-edit ee-icon-size-16"></div>
			</a>
			</li>' : '';
        $resend_reg_lnk = $attendee instanceof EE_Attendee && EE_Registry::instance()->CAP->current_user_can('ee_send_message', 'espresso_registrations_resend_registration', $item->ID()) ? '
			<li>
			<a href="' . $resend_reg_lnk_url . '" title="' . esc_attr__('Resend Registration Details', 'event_espresso') . '" class="tiny-text">
				<div class="dashicons dashicons-email-alt"></div>
			</a>
			</li>' : '';
        // page=transactions&action=view_transaction&txn=256&_wpnonce=6414da4dbb
        $view_txn_lnk_url = EE_Admin_Page::add_query_args_and_nonce(array('action' => 'view_transaction', 'TXN_ID' => $this->_transaction_details['id']), TXN_ADMIN_URL);
        $view_txn_lnk = EE_Registry::instance()->CAP->current_user_can('ee_read_transaction', 'espresso_transactions_view_transaction', $this->_transaction_details['id']) ? '
			<li>
			<a class="ee-status-color-' . $this->_transaction_details['status'] . '" href="' . $view_txn_lnk_url . '"  title="' . $this->_transaction_details['title_attr'] . '" class="tiny-text">
				<div class="dashicons dashicons-cart"></div>
			</a>
			</li>' : '';
        return $this->_action_string($view_lnk . $edit_lnk . $resend_reg_lnk . $view_txn_lnk, $item, 'ul', 'reg-overview-actions-ul');
    }
 /**
  * 		column_REG_final_price
  */
 function column__REG_final_price(EE_Registration $item)
 {
     $content = isset($_GET['event_id']) ? '' : '<span class="TKT_name">' . $item->ticket()->name() . '</span><br />';
     $content .= '<span class="reg-pad-rght">' . $item->pretty_price_paid() . '</span>';
     return $content;
 }
 /**
  *   toggle_registration_status_if_no_monies_owing
  * determine whether to toggle free tickets to "Approved" based on payment status (kinda sorta) of other tickets for
  * the same event. So if more than one ticket for the same event is in the cart, and one or more tickets are NOT
  * free, then free tickets will NOT be automatically toggled to "Approved"
  *
  * @access public
  * @param bool $toggle_registration_status
  * @param \EE_Registration $registration
  * @return bool
  */
 public static function toggle_registration_status_if_no_monies_owing($toggle_registration_status = false, EE_Registration $registration)
 {
     $reg_tickets = array();
     if ($registration instanceof EE_Registration && $registration->transaction() instanceof EE_Transaction) {
         // now we need to get an accurate count of registration tickets
         foreach ($registration->transaction()->registrations() as $reg) {
             if ($reg instanceof EE_Registration) {
                 if ($reg->event() instanceof EE_Event && $reg->ticket() instanceof EE_Ticket) {
                     $reg_tickets[$reg->event()->ID()][$reg->ticket()->ID()] = $reg->ticket()->is_free();
                 }
             }
         }
     }
     if ($registration->ticket() instanceof EE_Ticket && $registration->ticket()->is_free()) {
         $toggle_registration_status = true;
         if ($registration->event() instanceof EE_Event && isset($reg_tickets[$registration->event()->ID()])) {
             foreach ($reg_tickets[$registration->event()->ID()] as $free_ticket) {
                 $toggle_registration_status = $free_ticket ? $toggle_registration_status : false;
             }
         }
     }
     return $toggle_registration_status;
 }
 /**
  * column__REG_final_price
  *
  * @access public
  * @param \EE_Registration $item
  * @return string
  */
 public function column__REG_final_price(EE_Registration $item)
 {
     $ticket = $item->ticket();
     $content = isset($_GET['event_id']) || !$ticket instanceof EE_Ticket ? '' : '<span class="TKT_name">' . $ticket->name() . '</span><br />';
     $content .= '<span class="reg-pad-rght">' . $item->pretty_final_price() . '</span>';
     return $content;
 }