Give us contact

Do you prefer to ask us directly?

Call us +420 605 203 938 (the Czech Republic)

or use this contacts

AyMINE

Related links


FI - Finance Management

System default operations

Basic internall methods supporting orchestration and client condition control

AyMINE Application supports internally only very few predefined methods. However most common operations are directly implemented, because it saves time during the client programming or because it would be difficult to make alternative.

Name of the default operations cannot be used for orchestration operations.

Window openers

Default window openers can be used only as a default operation: "defOperation":"openDetail"
or as the operation in the list of buttons buttons:['openDetail']. When used as a button, default icon is used and cannot be changed.

openSelfDetail

openSelfModalDetail

Opens object default detail for editing. Probably most common operation from all window openers.

The second variant opens detail directly as a modal window. Simple command

"defOperation":"openSelfModalDetail"

is equal with much longer description:

"defOperation":"openMyDetail",
"operations":{
   "openMyDetail":{ "a":"form.this.detail.default(location=modal) }
}

openSelfClip

Function open clip view of the object into the modal view.

Operation is default operation when used clicks on object detail linked in another object (like name of the object owner).

Let’s note that there is no "modal" version of the function, because clip detail is always modal.

openSelfDashboard

Opens dashboard of the object in which function is used.

Function is equal to the command "form.this.dashboard.default"

Default database functions

Default basic data operations simplifies cooperation between AyMINE Application and AyMINE Framework.

insert

Objects do not have to implement insert function if they use AyMINE Framework support for backend object management. However, if backend has its own implementation, default insert functionality cannot be used. However object can still used the insert function support:

"operations":{
   "insert":{
      "preOp":"server.this.makeInsert
   }
}

The described code calls object's makeInsert function instead of default insert implementation.

delete

Delete object.

Function is supported in all views – list, detail and clip.

Function does not distinguish, if object support delete to the trash or not. The object should implement functionality to delete itself to the trash (However, AyMINE frameworks support it by the tskPersistent object.)

AyMINE Application supports distinguish icon for deleting object to the trash and permanently delete from trash with icons modification. However, functionality is linked with AyMINE-standard persistent object data structure:

Default delete function for object that support trash looks like this:

"delete": { 
   "multi":true, 
   "preOp":"server.this.deleteObj", 
   "icon":"trash" 
}

Application interperts the command to show operation button / menu item:

  • With the trash icon, if object does not have status field or
    status != frmFrm::defObjStatus_deleted
  • With the icon if object matches the conditon
    status == frmFrm::defObjStatus_deleted,
    so that it is expected that object is already in the trash and will be deleted by the next delete operation.

Described support is implemented only by detail. List displays always @trash button. Delete in the list can be used (theoretically) for both already deleted and undeleted objects and then button would operate for each object differently. (This would be very confusing for users and so developers are encouraged not to show deleted and undeleted object together. For objects that support delete to the trash should always be defined filter the separates deleted and not deleted objects.)

get

Optional method allows open the detail. This function cannot be directly used. (its’ not allowed to call the get operation at the client). However, function is always checked by server when any detail is opened.

If function is defined, its rights and conditions are evaluated both by server and client to check the user’s right to get data.

Function allows defined if default data source is used to get data or server should call a backend function that provides data to for AyMINE Application. Thus, function shall be used by all objects that have its own back-end implementation not using the default standard.

update

Function works similarly as get but it is called during the data update. Function is not used by client but allows redefine or modify default data update functionality.

It allows independent definition of the right to update object:

"operations":{
   "update":{ uright:["mod@Admin", "mod@Worker"] }
}

Allows edit object (store changes) only for users’ with system right mod@Admin or mod@Worker. Let’s note that right is:

  • Evaluated by server so that AyMINE Application or any other client cannot affect the right
  • Evaluation when request of update arrives to the server. If right fails user has not change to save the change and it will be lost.