Struct CheckAccessRules

Source
pub struct CheckAccessRules {
    pub database: String,
    pub uid: OdooId,
    pub password: String,
    pub model: String,
    pub ids: OdooIds,
    pub operation: AccessOperation,
}
Expand description

Check model access rules (according to ir.rule)

This method checks against ir.rule, e.g. advanced domain-based CRUD rules. You should also call CheckAccessRights in order to determine if any basic CRUD/group rights apply to this model/user.

NOTE: If the access check fails, an API error will be returned. To determine if the rules passed, check for the “Success” enum variant on the response.

WARNING: This method currently raises an API exception on success. This issue will be fixed in a future release. For now, you may check for

§Example

use odoo_api::service::orm::AccessOperation;
client.check_access_rules(
    "res.partner",
    vec![1, 2], // records
    AccessOperation::Unlink,
).send()?;

See: odoo/models.py

Fields§

§database: String

The database name (auto-filled by OdooClient)

§uid: OdooId

The user id (auto-filled by OdooClient)

§password: String

The user password (auto-filled by OdooClient)

§model: String

The Odoo model

§ids: OdooIds

The records to be checked

§operation: AccessOperation

The CRUD operation to check

Trait Implementations§

Source§

impl Debug for CheckAccessRules

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl JsonRpcParams for CheckAccessRules

Source§

impl OdooOrmMethod for CheckAccessRules

Source§

fn endpoint(&self) -> &'static str

Describe the “ORM” method endpoint (e.g., “/web/session/authenticate”)
Source§

fn method(&self) -> &'static str

Return the model method name (e.g., “read_group” or “create”)
Source§

fn _build(self, id: JsonRpcId) -> JsonRpcRequest<Self>

Build self into a full JsonRpcRequest
Source§

impl Serialize for CheckAccessRules

Source§

fn serialize<S>(&self, serialize: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,