src/Charcoal/Admin/Widget/FormSidebarWidget.php
public function isObjSavable()
    {
        if ($this->isObjSavable === null) {
            // Overridden by permissions
            if (!$this->checkPermission('save') || !$this->form()) {
                $this->isObjSavable = false;
            } else {
                $this->isObjSavable = true;

                $obj    = $this->form()->obj();
                $method = [ $obj, 'isSavable' ];
                if (is_callable($method)) {
                    $this->isObjSavable = call_user_func($method);
                }
            }
        }

        return $this->isObjSavable;
    }
public function isObjSavable()
    {
        if ($this->isObjSavable === null) {
            // Overridden by permissions
            if (!$this->checkPermission('save') || !$this->form()) {
                $this->isObjSavable = false;
            } else {
                $this->isObjSavable = true;

                $obj    = $this->form()->obj();
                $method = [ $obj, 'isSavable' ];
                if (is_callable($method)) {
                    $this->isObjSavable = call_user_func($method);
                }
            }
        }

        return $this->isObjSavable;
    }
public function isObjSavable ( ) { if ( $ this -> isObjSavable === null ) { // Overridden by permissions if ( ! $ this -> checkPermission ( 'save' ) || ! $ this -> form ( ) ) { $ this -> isObjSavable = false ; } else { $ this -> isObjSavable = true ; $ obj = $ this -> form ( ) -> obj ( ) ; $ method = [ $ obj , 'isSavable' ] ; if ( is_callable ( $ method ) ) { $ this -> isObjSavable = call_user_func ( $ method ) ; } } } return $ this -> isObjSavable ; }
Determine if the object can be saved.

If TRUE, the "Save" button is shown. The object can still be
saved programmatically.

@return boolean
Determine if the object can be saved .