Если ваш Ajax-вызов выполняет операцию обновления / сохранения в БД, то вы можете использовать after_save
логический хук.
РЕДАКТИРОВАТЬ: , например, вы можете попробоватьэтот код, посмотрите на код в <sugar_root>/modules/Notes/Note.php
$note = new Note();
$note->modified_user_id = $current_user->id;
$note->created_by = $current_user->id;
$note->name = 'New';
$note->parent_type = "Accounts";
$note->parent_id = $bean->parent_id;
$note->description = $bean->description;
$note->save();
Что касается вложений, это немного сложно.Sugar ожидает, что вложение будет объектом upload_file.Посмотрите на код в <sugar_root>/modules/Notes/controller.php
функциях action_save()
и <sugar_root>/include/upload_file.php
HACK: это не правильный путь, но он работает.С небольшими изменениями в приведенном выше коде и хитрым использованием функции move
, вы можете заставить вложение работать.Sugar хранит вложения в папке cache/upload
с идентификатором созданной заметки.
$note->filename = "Yourfilename.txt" //your file name goes here
$note->file_mime_type = "text/plain" // your file's mime type goes here
$new_note_id = $note->save();
move(your_file_location, cache/upload/$new_note_id)
//don't add a extension to cache/upload/$new_note_id
HTH
PS: непроверенный код