public function postEdit($id = null)
    {
        // Get the post information
        $group = Sentinel::getRoleRepository()->find($id);

        if ($group == null)
        {
            // Prepare the error message
            $error = Lang::get('base.groups.not_found');

            // Redirect to the post management page
            return Redirect::route('admin.blogs.show')->with('error', $error);
        }

        unset($this->validationRules['slug']);
        $this->validationRules['slug'] = "required|min:3|unique:Group,slug,{$group->slug},slug";

        $slug = str_slug(Input::get('name'), '_');

        $input = Input::all();
        $input['slug'] = $slug;

        // Create a new validator instance from our validation rules
        $validator = Validator::make($input, $this->validationRules);

        // If validation fails, we'll exit the operation now.
        if ($validator->fails()) {
            // Ooops.. something went wrong
            return Redirect::back()->withInput()->withErrors($validator);
        }

        // Update the group
        $group->name = Input::get('name');
        $group->slug = $slug;
        $group->description = Input::get('description');

        // Was the post updated?
        if ($group->save())
        {
            Base::Log('Group (' . $group->id . ' - ' . $group->name . ') was edited.');

            // Prepare the success message
            $success = Lang::get('base.groups.changed');

            // Redirect to the user page
            return Redirect::route('groups')->with('success', $success);
        }

        $error = Lang::get('base.groups.error');

        // Redirect to the post page
        return Redirect::route('groups.update', $id)->withInput()->with('error', $error);
    }