A small plugin for Frappe that adds customization to the attach control. It supports RTL layout and dark mode out of the box.
- Desk: 🔵 Testing
- Web Form: 🔵 Testing
A simple display of gratitude and appreciation to those who provided helped and kind support.
- CA. B.C.Chechani (Testing - Debugging)
- 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
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
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 |
---|---|
enable_reload() | Allow reloading attachments and show the reload button (🔶Frappe >= v13.0.0). |
disable_reload() | Deny reloading attachments and hide reload button (🔶Frappe >= v13.0.0). |
enable_remove() | Allow removing and clearing attachments and show the clear and remove buttons. |
disable_remove() | Deny removing and clearing attachments and hide the clear and remove buttons. |
set_options(JSON) | Set or change the plugin current 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.