public function postIndex(Request $request, $txid, $mode)
 {
     if ($mode == 'Delete') {
         // use DB facade to delete the row matching $pid
         $salestransactions = \App\Sales_transaction::where('id', '=', $txid)->get();
         $salestransaction = $salestransactions->first();
         \App\Sales_transaction::destroy($txid);
         $request->session()->flash('message', 'Sales Transaction for ' . $salestransaction->salesperson->last_name . ', ' . $salestransaction->salesperson->first_name . ' on ' . $request->input('transactionDate') . ' Deleted');
     } else {
         // create a model and set the values, then session_save_path
         $this->validate($request, ['transactionDate' => 'required|date|before:tomorrow', 'product' => 'required', 'salesperson' => 'required', 'discount' => 'required|numeric|min:0', 'quantity' => 'required|numeric|min:1']);
         if ($mode == 'Edit') {
             // get the model from the db
             $salestransactions = \App\Sales_transaction::where('id', '=', $txid)->get();
             $salestransaction = $salestransactions->first();
         } else {
             // instantiate a new model
             $salestransaction = new \App\Sales_transaction();
         }
         // now set the model attributes
         $salestransaction->transaction_date = $request->input('transactionDate');
         $salestransaction->product_id = $request->input('product');
         $salestransaction->salesperson_id = $request->input('salesperson');
         $salestransaction->quantity = $request->input('quantity');
         $salestransaction->discount = $request->input('discount');
         $salestransaction->comments = $request->input('comments');
         if ($mode == 'Edit') {
             $salestransaction->id = $txid;
         }
         $salestransaction->save();
         $request->session()->flash('message', 'Sales Transaction for ' . $salestransaction->salesperson->last_name . ', ' . $salestransaction->salesperson->first_name . ' on ' . $request->input('transactionDate') . ' Updated / Added');
     }
     $txcol = $request->session()->get('txcol');
     $txord = $request->session()->get('txord');
     $txord = $txord == 'A' ? 'D' : 'A';
     $request->session()->put('txord', $txord);
     // need to refresh the products collection after changes
     $salestransactions = \App\Sales_transaction::orderBy('transaction_date', 'desc')->take(100)->get();
     $request->session()->flash('show100', 'Showing last 100 transaction by default - use the filter option to see more transactions.');
     // now put the collection in the session variable
     $request->session()->put('salestransactions', $salestransactions);
     // now direct to the sort route to retain the sort the user had before editing
     return redirect('salestransactions/sort/' . $txcol);
 }
 public function postIndex(Request $request)
 {
     // first retrieve the transaction based on date - if no dates, get most recent 100 transactions
     $this->validate($request, ['fromDate' => 'date|before:tomorrow', 'thruDate' => 'date|after:fromDate']);
     $fromDate = $request->input('fromDate');
     $thruDate = $request->input('thruDate');
     if ((is_null($fromDate) || $fromDate == '') && (is_null($thruDate) || $thruDate == '')) {
         // no dates, so get last 100 transactions
         $salestransactions = \App\Sales_transaction::orderBy('transaction_date', 'desc')->take(100)->get();
         $request->session()->flash('show100', 'Showing last 100 transaction by default - use the filter option to see more transactions.');
     } elseif (is_null($fromDate) || $fromDate == '') {
         // get tx's before thru date
         $salestransactions = \App\Sales_transaction::where('transaction_date', '<=', $thruDate)->orderBy('transaction_date', 'desc')->get();
     } elseif (is_null($thruDate) || $thruDate == '') {
         // get tx's before thru date
         $salestransactions = \App\Sales_transaction::where('transaction_date', '>=', $fromDate)->orderBy('transaction_date', 'desc')->get();
     } else {
         // get tx's between both dates
         $salestransactions = \App\Sales_transaction::whereBetween('transaction_date', [$fromDate, $thruDate])->orderBy('transaction_date', 'desc')->get();
     }
     // now filter the collection as needed based on user input
     // first filter by category
     $cat = $request->input('cat');
     if (isset($cat) && $cat > 0) {
         $filtered = $salestransactions->filter(function ($item) use($cat) {
             return $item->product->category->id == $cat;
         });
         $salestransactions = $filtered;
     }
     // now filter by product
     $product = $request->input('product');
     if (isset($product) && $product > 0) {
         $filtered = $salestransactions->filter(function ($item) use($product) {
             return $item->product->id == $product;
         });
         $salestransactions = $filtered;
     }
     // now filter by salesperson
     $salesperson = $request->input('salesperson');
     if (isset($salesperson) && $salesperson > 0) {
         $filtered = $salestransactions->filter(function ($item) use($salesperson) {
             return $item->salesperson->id == $salesperson;
         });
         $salestransactions = $filtered;
     }
     // now return the view with the filtered list
     $request->session()->put('salestransactions', $salestransactions);
     $pcol = $request->session()->get('pcol');
     return view('salestransactions', ['sortOrder' => $pcol], ['salestransactions' => $salestransactions]);
 }
示例#3
0
?>
        </div>
        <br>
        <label>Active:</label>
        <input type="radio" name="active" id="Yes" value="1" {{ $active == '1' ? 'checked' : ''}} {{ $mode == 'Delete' ? 'disabled':''}}> Yes
        <input type="radio" name="active" id="No" value="0" {{ $active == '0' ? 'checked' : ''}} {{ $mode == 'Delete' ? 'disabled':''}}> No
        <?php 
$errorDisplay->showError($errors, 'active');
?>



        <br><br><label for="submit">&nbsp;</label>
        <a class="formbutton" title="Back" alt="Back" href="{{URL::to('/products')}}">Cancel</a>
        <?php 
$stx = \App\Sales_transaction::where('product_id', '=', $pid)->get();
$count = $stx->count();
?>

        @if ($mode == 'Delete')
            @if ($count < '1')
                <button type="submit" id="submit" class="btn btn-primary">DELETE (permanent!)</button>
            @else
                <span class="msg">Cannot delete a product that has been used in a sales transaction!</span>
            @endif
        @else
            <button type="submit" id="submit" class="btn btn-primary">Save</button>
        @endif

    </div>
示例#4
0
            <input type="date" id="hireDate" name="hireDate" placeholder="Hire date" value="{{ $hireDate }}" {{ $mode == 'Delete' ? 'readonly':''}}>
            &nbsp;&nbsp;<label class="secondary">Termination Date:</label>&nbsp
            <input type="date" id="terminationDate" name="terminationDate" placeholder="Term date" value="{{ $terminationDate }}" {{ $mode == 'Delete' ? 'readonly':''}}>
            <?php 
$errorDisplay->showError($errors, 'hireDate');
?>
            <?php 
$errorDisplay->showError($errors, 'terminationDate');
?>
        </div>


        <br><br><label for="submit">&nbsp;</label>
        <a class="formbutton" title="Back" alt="Back" href="{{URL::to('/salespeople')}}">Cancel</a>
        <?php 
$stx = \App\Sales_transaction::where('salesperson_id', '=', $sid)->get();
$count = $stx->count();
?>

        @if ($mode == 'Delete')
            @if ($count < '1')
                <button type="submit" id="submit" class="btn btn-primary">DELETE (permanent!)</button>
            @else
                <span class="msg">Cannot delete a salesperson that has been used in a sales transaction!</span>
            @endif
        @else
            <button type="submit" id="submit" class="btn btn-primary">Save</button>
        @endif

    </div>