seitime-frappe/frappe/core
mtraeber f608fbeddd feat: sync mutliple IMAP folders in Email Account
When working with IMAP accounts, frappe should allow the user
to choose multiple folders to look for new mails. This helps
users to separate their frappe-related email from other
conversations. Use cases range from sieve filters in the
mail server that stuff incoming mail in various mail folders
to people manually sorting their e-mail. In both cases, we
can have different import policies for different folders, and
we can avoid importing unrelated email.

Created a new child table `IMAP Folder` with following fields:
 - Folder Name (user-modifiable)
 - Append To (user-modifiable)
 - UIDVALIDITY (hidden)
 - UIDNEXT (hidden)

Doctype `Email Account` and `receive.py` code adjusted so that
emails with the changes are processed correctly and Frappe
only logs in to the imap server once per sync.

Created a patch that copies the data from the old fields into
the new child table with `INBOX` as default `folder_name`. This
keeps existing setups working without manual changes.

The original fields
 - uidvalidity
 - uidnext
 - append_to
are still available for the pop3 setups. In IMAP, these fields
are hidden user and not used.

Added a test case in `Email Account` that validates data to make
sure a IMAP folder is provided if the use_imap is true.

Also added some code formatting changes in email_account.js to get rid
of sider checks failures that block this change
2021-10-13 10:27:18 +02:00
..
doctype feat: sync mutliple IMAP folders in Email Account 2021-10-13 10:27:18 +02:00
page fix: unable to delete role permissions 2021-10-08 15:36:58 +05:30
report chore: Update header: license.txt => LICENSE 2021-09-03 12:02:59 +05:30
web_form chore: Drop dead and deprecated code 2021-05-26 15:31:29 +05:30
workspace feat(minor): Packages! also cleanup of DocField and other minor fixes 2021-09-05 22:01:55 +05:30
__init__.py chore: Update header: license.txt => LICENSE 2021-09-03 12:02:59 +05:30
notifications.py chore: Update header: license.txt => LICENSE 2021-09-03 12:02:59 +05:30
README.md rename Profile to User frappe/frappe#470 2014-03-11 16:14:47 +05:30
utils.py chore: Update header: license.txt => LICENSE 2021-09-03 12:02:59 +05:30

Core module contains the models required for the basic functioning of frappe including DocType, User (user), Role and others.