A small plugin for Frappe that adds customization to the attach control. It supports RTL layout and dark mode out of the box.
Apologies in advance for any problem or bug you face with this module. Please report any problem or bug you face so it can be fixed.
- Desk: 🔵 Testing
- Web Form: 🔵 Testing
A simple display of gratitude and appreciation to those who provided helped and kind support.
- Requirements
- Setup
- Usage
- Available Field Options
- Available JavaScript Methods
- Supported Fields
- Issues
- License
- Frappe >= v12.0.0
- Go to bench directory
cd ~/frappe-bench
- Get plugin from Github
(Required only once)
bench get-app https://github.com/kid1194/frappe-better-attach-control
- Build plugin
(Required only once)
bench build --app frappe_better_attach_control
- Install plugin on a specific site
bench --site [sitename] install-app frappe_better_attach_control
- Check the usage section below
- Go to app directory
cd ~/frappe-bench/apps/frappe_better_attach_control
- Get updates from Github
git pull
- Go to bench directory
cd ~/frappe-bench
- Build plugin
bench build --app frappe_better_attach_control
- Update a specific site
bench --site [sitename] migrate
- (Optional) Restart bench to clear cache
bench restart
- Go to bench directory
cd ~/frappe-bench
- Uninstall plugin from a specific site
bench --site [sitename] uninstall-app frappe_better_attach_control
- Remove plugin from bench
bench remove-app frappe_better_attach_control
- (Optional) Restart bench to clear cache
bench restart
-
Go to Customization > Customize Form
-
Enter the form doctype (Ex: 'User')
-
Scroll down to the fields area
-
Create an Attach or Attach Image field or edit an existing custom field
-
Inside the field's Options property, add the options you want as a JSON string.
Ex:
{"allowed_file_types": [".jpg", ".png", ".gif"]}
You can't modify the original fields of a doctype, so create a new field or clone and modify the entire doctype.
Option | Description |
---|---|
dialog_title 🔴 | Upload dialog title to be displayed ️(🔶Frappe >= v14.0.0). 🔹Example: "Upload Images" 🔹Default: "Upload" |
upload_notes | Upload text to be displayed. 🔹Example: "Only images and videos, with maximum size of 2MB, are allowed to be uploaded" 🔹Default: "" |
disable_file_browser 🔴 | Disable file browser uploads. 🔹Default: false |
allow_multiple | Allow multiple uploads. 🔹Default: false |
max_file_size | Maximum file size (in bytes) that is allowed to be uploaded. 🔹Example: 2048 for 2KB 🔹Default: Value of maximum file size in Frappe's settings |
allowed_file_types | Array of allowed file types (mimes) or extensions to upload. Prefix escaped RegExp string types with $. 🔹Example: ["image/", "video/", ".pdf", ".doc", "$audio/([a-z]+)"] 🔹Default: null or ["image/*"] |
max_number_of_files | Maximum number of files allowed to be uploaded if multiple upload is allowed. 🔹Example: 4 🔹Default: Value of maximum attachments set for the doctype |
crop_image_aspect_ratio | Crop aspect ratio for images (🔶Frappe >= v14.0.0). 🔹Example: 1 or 16/9 or 4/3 🔹Default: null |
as_public | Force uploads to be saved in public folder by default. 🔹Default: false |
allowed_filename 🔴 | Only allow files that match a specific file name to be uploaded. 🔹Example: (String)"picture.png" or (RegExp String)"/picture-([0-9]+).png/" 🔹Default: null |
allow_reload | Allow reloading attachments (🔶Frappe >= v13.0.0). 🔶 Affect the visibility of the reload button.🔶 🔹Default: true |
allow_remove | Allow removing and clearing attachments. 🔶 Affect the visibility of the remove and clear buttons.🔶 🔹Default: true |
Method | Description |
---|---|
toggle_reload(allow: Boolean !Optional) | Allow/Deny reloading attachments and toggle the reload button (🔶Frappe >= v13.0.0). |
toggle_remove(allow: Boolean !Optional) | Allow/Deny removing and clearing attachments and toggle the clear and remove buttons. |
set_options(options: JSON Object) | Set or change the plugin options. |
- Attach
- Attach Image
If you find bug in the plugin, please create a bug report and let us know about it.
This repository has been released under the MIT License.