mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Edit rule group.
This commit is contained in:
parent
b2bb16c1e0
commit
06174d6afb
@ -47,14 +47,14 @@ class RuleController extends Controller
|
|||||||
$subTitle = trans('firefly.make_new_rule_group');
|
$subTitle = trans('firefly.make_new_rule_group');
|
||||||
|
|
||||||
// put previous url in session if not redirect from store (not "create another").
|
// put previous url in session if not redirect from store (not "create another").
|
||||||
if (Session::get('rule-groups.create.fromStore') !== true) {
|
if (Session::get('rules.rule-group.create.fromStore') !== true) {
|
||||||
Session::put('rule-groups.create.url', URL::previous());
|
Session::put('rules.rule-group.create.url', URL::previous());
|
||||||
}
|
}
|
||||||
Session::forget('accounts.create.fromStore');
|
Session::forget('accounts.create.fromStore');
|
||||||
Session::flash('gaEventCategory', 'rules');
|
Session::flash('gaEventCategory', 'rules');
|
||||||
Session::flash('gaEventAction', 'create-rule-group');
|
Session::flash('gaEventAction', 'create-rule-group');
|
||||||
|
|
||||||
return view('rules.create-rule-group', compact('subTitleIcon', 'what', 'subTitle'));
|
return view('rules.rule-group.create', compact('subTitleIcon', 'what', 'subTitle'));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -78,15 +78,70 @@ class RuleController extends Controller
|
|||||||
|
|
||||||
if (intval(Input::get('create_another')) === 1) {
|
if (intval(Input::get('create_another')) === 1) {
|
||||||
// set value so create routine will not overwrite URL:
|
// set value so create routine will not overwrite URL:
|
||||||
Session::put('rule-groups.create.fromStore', true);
|
Session::put('rules.rule-group.create.fromStore', true);
|
||||||
|
|
||||||
return redirect(route('rules.rule-group.create'))->withInput();
|
return redirect(route('rules.rule-group.create'))->withInput();
|
||||||
}
|
}
|
||||||
|
|
||||||
// redirect to previous URL.
|
// redirect to previous URL.
|
||||||
return redirect(Session::get('rule-groups.create.url'));
|
return redirect(Session::get('rules.rule-group.create.url'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param RuleGroup $ruleGroup
|
||||||
|
*
|
||||||
|
* @return View
|
||||||
|
*/
|
||||||
|
public function editRuleGroup(RuleGroup $ruleGroup)
|
||||||
|
{
|
||||||
|
$subTitle = trans('firefly.edit_rule_group', ['title' => $ruleGroup->title]);
|
||||||
|
|
||||||
|
// put previous url in session if not redirect from store (not "return_to_edit").
|
||||||
|
if (Session::get('rules.rule-group.edit.fromUpdate') !== true) {
|
||||||
|
Session::put('rules.rule-group.edit.url', URL::previous());
|
||||||
|
}
|
||||||
|
Session::forget('rules.rule-group.edit.fromUpdate');
|
||||||
|
Session::flash('gaEventCategory', 'rules');
|
||||||
|
Session::flash('gaEventAction', 'edit-rule-group');
|
||||||
|
|
||||||
|
return view('rules.rule-group.edit', compact('ruleGroup', 'subTitle'));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param RuleGroupFormRequest $request
|
||||||
|
* @param RuleRepositoryInterface $repository
|
||||||
|
* @param RuleGroup $ruleGroup
|
||||||
|
*
|
||||||
|
* @return $this|\Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
|
||||||
|
*/
|
||||||
|
public function updateRuleGroup(RuleGroupFormRequest $request, RuleRepositoryInterface $repository, RuleGroup $ruleGroup)
|
||||||
|
{
|
||||||
|
$data = [
|
||||||
|
'title' => $request->input('title'),
|
||||||
|
'description' => $request->input('description'),
|
||||||
|
'active' => intval($request->input('active')) == 1,
|
||||||
|
];
|
||||||
|
|
||||||
|
$repository->update($ruleGroup, $data);
|
||||||
|
|
||||||
|
Session::flash('success', trans('firefly.updated_rule_group', ['title' => $ruleGroup->title]));
|
||||||
|
Preferences::mark();
|
||||||
|
|
||||||
|
if (intval(Input::get('return_to_edit')) === 1) {
|
||||||
|
// set value so edit routine will not overwrite URL:
|
||||||
|
Session::put('rules.rule-group.edit.fromUpdate', true);
|
||||||
|
|
||||||
|
return redirect(route('rules.rule-group.edit', [$ruleGroup->id]))->withInput(['return_to_edit' => 1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// redirect to previous URL.
|
||||||
|
return redirect(Session::get('rules.rule-group.edit.url'));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return View
|
* @return View
|
||||||
*/
|
*/
|
||||||
@ -105,11 +160,4 @@ class RuleController extends Controller
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @param RuleGroup $ruleGroup
|
|
||||||
*/
|
|
||||||
public function editRuleGroup(RuleGroup $ruleGroup)
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -248,7 +248,7 @@ Route::group(
|
|||||||
Route::get('/rules/groups/delete/{ruleGroup}', ['uses' => 'RuleController@deleteRuleGroup', 'as' => 'rules.rule-group.delete']);
|
Route::get('/rules/groups/delete/{ruleGroup}', ['uses' => 'RuleController@deleteRuleGroup', 'as' => 'rules.rule-group.delete']);
|
||||||
|
|
||||||
Route::post('/rules/groups/store', ['uses' => 'RuleController@storeRuleGroup', 'as' => 'rules.rule-group.store']);
|
Route::post('/rules/groups/store', ['uses' => 'RuleController@storeRuleGroup', 'as' => 'rules.rule-group.store']);
|
||||||
|
Route::post('/rules/groups/update/{ruleGroup}', ['uses' => 'RuleController@updateRuleGroup', 'as' => 'rules.rule-group.update']);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Search Controller
|
* Search Controller
|
||||||
|
@ -53,4 +53,21 @@ class RuleRepository implements RuleRepositoryInterface
|
|||||||
|
|
||||||
return $newRuleGroup;
|
return $newRuleGroup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param RuleGroup $ruleGroup
|
||||||
|
* @param array $data
|
||||||
|
*
|
||||||
|
* @return RuleGroup
|
||||||
|
*/
|
||||||
|
public function update(RuleGroup $ruleGroup, array $data)
|
||||||
|
{
|
||||||
|
// update the account:
|
||||||
|
$ruleGroup->title = $data['title'];
|
||||||
|
$ruleGroup->description = $data['description'];
|
||||||
|
$ruleGroup->active = $data['active'];
|
||||||
|
$ruleGroup->save();
|
||||||
|
|
||||||
|
return $ruleGroup;
|
||||||
|
}
|
||||||
}
|
}
|
@ -30,4 +30,13 @@ interface RuleRepositoryInterface
|
|||||||
*/
|
*/
|
||||||
public function getHighestOrderRuleGroup();
|
public function getHighestOrderRuleGroup();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param RuleGroup $ruleGroup
|
||||||
|
* @param array $data
|
||||||
|
*
|
||||||
|
* @return RuleGroup
|
||||||
|
*/
|
||||||
|
public function update(RuleGroup $ruleGroup, array $data);
|
||||||
|
|
||||||
}
|
}
|
@ -51,6 +51,9 @@ return [
|
|||||||
'make_new_rule_group' => 'Make new rule group',
|
'make_new_rule_group' => 'Make new rule group',
|
||||||
'store_new_rule_group' => 'Store new rule group',
|
'store_new_rule_group' => 'Store new rule group',
|
||||||
'created_new_rule_group' => 'New rule group ":title" stored!',
|
'created_new_rule_group' => 'New rule group ":title" stored!',
|
||||||
|
'updated_rule_group' => 'Successfully updated rule group ":title".',
|
||||||
|
'edit_rule_group' => 'Edit rule group ":title"',
|
||||||
|
'update_rule_group' => 'Update rule group',
|
||||||
'no_rules_in_group' => 'There are no rules in this group',
|
'no_rules_in_group' => 'There are no rules in this group',
|
||||||
|
|
||||||
// actions and triggers
|
// actions and triggers
|
||||||
|
52
resources/views/rules/rule-group/edit.twig
Normal file
52
resources/views/rules/rule-group/edit.twig
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
{% extends "./layout/default.twig" %}
|
||||||
|
|
||||||
|
{% block breadcrumbs %}
|
||||||
|
{{ Breadcrumbs.renderIfExists(Route.getCurrentRoute.getName, ruleGroup) }}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
{{ Form.model(ruleGroup, {'class' : 'form-horizontal','id' : 'update','url' : route('rules.rule-group.update',ruleGroup.id) } ) }}
|
||||||
|
<input type="hidden" name="id" value="{{ ruleGroup.id }}"/>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-lg-6 col-md-12 col-sm-6">
|
||||||
|
<div class="box box-primary">
|
||||||
|
<div class="box-header with-border">
|
||||||
|
<h3 class="box-title">{{ 'mandatoryFields'|_ }}</h3>
|
||||||
|
</div>
|
||||||
|
<div class="box-body">
|
||||||
|
{{ ExpandedForm.checkbox('active') }}
|
||||||
|
{{ ExpandedForm.text('title') }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-12 col-sm-6">
|
||||||
|
|
||||||
|
<!-- optional fields -->
|
||||||
|
<div class="box">
|
||||||
|
<div class="box-header with-border">
|
||||||
|
<h3 class="box-title">{{ 'optionalFields'|_ }}</h3>
|
||||||
|
</div>
|
||||||
|
<div class="box-body">
|
||||||
|
{{ ExpandedForm.textarea('description') }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- panel for options -->
|
||||||
|
<div class="box">
|
||||||
|
<div class="box-header with-border">
|
||||||
|
<h3 class="box-title">{{ 'options'|_ }}</h3>
|
||||||
|
</div>
|
||||||
|
<div class="box-body">
|
||||||
|
{{ ExpandedForm.optionsList('update','budget') }}
|
||||||
|
</div>
|
||||||
|
<div class="box-footer">
|
||||||
|
<button type="submit" class="btn pull-right btn-success">{{ 'update_rule_group'|_ }}</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{{ Form.close|raw }}
|
||||||
|
|
||||||
|
{% endblock %}
|
Loading…
Reference in New Issue
Block a user