* fix: Add updated datepicker; fixed seconds formatting bug.
Seconds between 0 and 9 were not zero-padded.
* feat: Add framework for time format
* feat: datetime server-side formatters.
* tests: Added server-side datetime formatter tests
* feat: Update client-side datetime formatters
* tests: Add Cypress client-side formatting tests.
* fix: JSON errors
* fix: Update to not hard-code admin password
* fix: Change to using bulk_update rather than the REST API
* tests: Use Custom doctype for testing, not Standard
* fix: Codacy style fixes
* fix: Commonify update_datetime_picker in date.js, datetime.js, time.js
Fix order of time_format in System Settings
Restore get_user_fmt in utils/datetime.js
* feat: Drastically reduce scale of Cypress testing (to make tests faster)
Full testing is possible by setting 'fast_mode' to false in the spec file.
* fix: Fix issues with datepicker/timepicker expansion
* fix: typo
* style: Various style fixes as requested by DeppSource: Python
* fix: Timepicker not hiding on 'now' button. Force hiding on click.
* style: Codacy style fixes.
* fix: Use datepicker from node_modules
* test: Refactor Datetime UI tests
- cy.get_field
- cy.set_value
- cy.insert_doc with ignore_duplicate
- Nominal datetime tests to cover most formats
- Formatting with prettier
* test: Datetime UI tests; wait for cur_frm.doc.datetime to update
* tests: Add whitespace to typed input
- Clear input only for Time field
* test: Wait timeout 200
* test: Fix form test
Co-authored-by: Faris Ansari <netchampfaris@users.noreply.github.com>
* fix: REST API utf-8 decoding on creates/updates
Creating or updating a document via the REST API would generate an error of:
`TypeError: the JSON object must be str, not 'bytes'`
Because get_data() returns bytes which must be explicitly converted to a string before parsing as JSON.
Defect introduced by efe94886a and a71a92341e
* fix(patch): Handle failures in while making Prepared Report attachments private
* case insensitive search for postgres
* convert operator to lowercase while checking
* fix: Pass prepared_report_name as filter if exists
* fix: Add input to multiselect_list control
* fix(reportview): convert to unicode conditionally
fixes TypeError: decoding str is not supported
Traceback (most recent call last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 57, in application
response = frappe.handler.handle()
File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 22, in handle
data = execute_cmd(cmd)
File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 61, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 1038, in call
return fn(*args, **newargs)
File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 511, in wrapper_fn
retval = fn(*args, **get_newargs(fn, kwargs))
File "/home/frappe/frappe-bench/apps/frappe/frappe/desk/reportview.py", line 177, in export_query
frappe.response['result'] = text_type(f.read(), 'utf-8')
TypeError: decoding str is not supported
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
* chore: remove useless encode
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
* fix: Allow Rename in Website Route Meta
* fix: Add Visit Web Page button in form
* fix: next schedule date should be on or after current date
* test: next schedule date
* fix: Change modified by
* fix: do not allow bulk update for core, single doctypes and doctypes from inactive domains
* fix: switch to safe_decode
* test: Fix list_view test by removing clear-cache code (#8941)
* test: Fix listview test by waiting for clear-cache
* test: Move wait to list_view.js
* test: Try removing clear-cache
* fix(integration): Social Login Key (#8940)
add missing field
* fix: don't set filter for restrict_to_domain in Bulk Update Tool
* fix: query report chart options
* fix: Default and company address fixes
* fix: revert changes made to get_default_address function
* fix: Remove changes in notifications
* fix: list view group by filter ambiguous column name
* fix: changelog modal ui
* test: list view child table filter with created by filter
* fix: not able to download XML file
* fix(security): invalidate reset_password_key on password reset
currently there is no way to invalidate reset_password_key on updating
password through the user settings. so whenever the user sets a new
password we'll invalidate the reset_password_key, so that existing links
to reset user passwords cannot be used.
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
* fix: Pin faker version to avoid test failures
* perf: optimise globals search
* fix: add index on child table
* fix: do not pop item from list
* fix: dont add index for global search doctype
* fix: rename function to set
* tests: fix results being return
* fix: codacy fixes
* fix: Code cleanup
- Pass values so that db cursor can handle escaping
* fix: Convert list to tuple
* style: added semi-colon
* fix: add default role on sign up via SSO
* fix(autocomplete): parse options (#8999)
* fix(autocomplete): parse options
* fix: add ignore validation flag
* fix: minor change
* fix(email): try to encode email part to utf-8 (#8964)
fixes issues with class objects other than str
Traceback (most recent call last):
File "/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py", line 281, in receive
communication = self.insert_communication(msg, args=args)
File "/home/frappe/frappe-bench/apps/frappe/frappe/email/doctype/email_account/email_account.py", line 338, in insert_communication
email = Email(raw)
File "/home/frappe/frappe-bench/apps/frappe/frappe/email/receive.py", line 372, in __init__
self.parse()
File "/home/frappe/frappe-bench/apps/frappe/frappe/email/receive.py", line 393, in parse
self.process_part(part)
File "/home/frappe/frappe-bench/apps/frappe/frappe/email/receive.py", line 445, in process_part
self.text_content += self.get_payload(part)
File "/home/frappe/frappe-bench/apps/frappe/frappe/email/receive.py", line 489, in get_payload
charset = self.get_charset(part)
File "/home/frappe/frappe-bench/apps/frappe/frappe/email/receive.py", line 484, in get_charset
charset = chardet.detect(frappe.safe_encode(part))['encoding']
File "/home/frappe/frappe-bench/env/lib/python3.6/site-packages/chardet/__init__.py", line 34, in detect
'{0}'.format(type(byte_str)))
TypeError: Expected object of type bytes or bytearray, got: <class 'email.message.Message'>
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
* fix: Ambiguous column error when going to next doc (#9005)
fix: Ambiguous column error when going to next doc
Co-authored-by: Prssanna Desai <prssud@gmail.com>
* fix(patch): auto commit on more than 10000 writes
fixes issue where patch fails with:
frappe.exceptions.ValidationError: Too many writes in one request. Please send smaller requests
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
* revert: changes in currency formatting (#9003)
* fix: reverted currency formatting
* ux: added description for currency's number format
* It doesn't have any effect on how the currency is formatted.
* fix: revert json changes in currency master
* fix(filters): set default id to empty string instead of 0 (#9014)
fixes issue where "undefined" value gets set to 0 in postgres, which causes ProgrammingError since the expected value is of type str and not int
* revert: changes in currency formatting (#9003)
* fix: reverted currency formatting
* ux: added description for currency's number format
* It doesn't have any effect on how the currency is formatted.
* fix: revert json changes in currency master
* feat: add doc for email linking
* fix: missing commits while reverting currency changes
* fix(file): Public-private issue (#9032)
* fix: Pass file's is_private for doc creation
* fix: File is_private and file_url mismatch
* fix: Check if file_url exists
* fix: Validation check
* fix(postgres): Convert is_private to int
* fix: File path for content_hash
* fix: Show default currency as a fallback for currency fieldtype (#8992)
* fix: Show default currency as a fallback for currency fieldtype
* test: Add a test for currency formatting
* fix: Add a patch to fix all user's home settings (#9040)
* fix: Add a patch to fix all user's home settings
* fix: Remove limit
* fix: Allow field of submitted doc to edit if field has allow_on_submit enabled
* test: Add test to check if field is editable
* fix: Typo
* test: Add assert statement for value
* test: Clear cache after creating doctype
* fix: Codacy
* fix checkbox behavior in rtl view when clicking on label to check (#8898)
* fix checkbox behavior in rtl view when clicking on label to check
* fix: Undo changes in desk.css
* fix: Empty row validation
* style: Fix code formatting
* fix: Terminate regex
* fix: don't validate email for standard filters
* fix: before setting user default value, if fieldtype is Link check if doc exists
* Revert "fix: user default value for Link fields"
* before setting user default value, if fieldtype is Link check if doc exists
* fix: Remove Attachment on remove
* fix: minor changes
* style: fix Codacy issue
There should be no space before ','. (comma-spacing)
* fix: rfc5322 compliance for python3 (#9056)
* start of tests
* rfc compliant emails for frappe.
* fix for deepsource
* fix length of strings.
* fix bug that I'm not sure where it came from?
* codacy and deepsource issues trying to keep them happy
* take a punt in the dark
* fix: use SMTPUTF8 instead of SMTP and other minor fixes
Signed-off-by: Chinmay D. Pai <chinmaydpai@gmail.com>
* fix: patch home_settings_for_all_users
* style: Fix Codacy
* fix: KeyError: 'hidden_modules'
* fix: TypeError in home_settings patch
Convert set to list
* refactor: override style for changelog modal
* Merge V12-pre-release to version-12-hotfix (#9094)
Merge V12-pre-release to version-12-hotfix
Co-authored-by: null <rohitw1991@gmail.com>
Co-authored-by: Prssanna Desai <prssud@gmail.com>
Co-authored-by: Chinmay Pai <chinmaydpai@gmail.com>
Co-authored-by: Vishal Dhayagude <vishaldhayagude09@gmail.com>
Co-authored-by: Himanshu <himanshuwarekar@yahoo.com>
Co-authored-by: null <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: null <sahilkhan28297@gmail.com>
* Revert queue.py
Co-authored-by: Ben Knowles <benknowles@users.noreply.github.com>
Co-authored-by: Aditya Hase <aditya@adityahase.com>
Co-authored-by: Shridhar Patil <shridharpatil2792@gmail.com>
Co-authored-by: Faris Ansari <netchampfaris@users.noreply.github.com>
Co-authored-by: Chinmay Pai <chinmaydpai@gmail.com>
Co-authored-by: Rucha Mahabal <ruchamahabal2@gmail.com>
Co-authored-by: Revant Nandgaonkar <revant.one@gmail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Shivam Mishra <scmmishra@users.noreply.github.com>
Co-authored-by: Deepesh Garg <42651287+deepeshgarg007@users.noreply.github.com>
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
Co-authored-by: Himanshu <himanshuwarekar@yahoo.com>
Co-authored-by: Rohan <Alchez@users.noreply.github.com>
Co-authored-by: Mangesh-Khairnar <mkhairnar10@gmail.com>
Co-authored-by: Prssanna Desai <prssud@gmail.com>
Co-authored-by: Saqib <thefalconx33@gmail.com>
Co-authored-by: Nabin Hait <nabinhait@gmail.com>
Co-authored-by: Ammar Hararah <ammarkharara@gmail.com>
Co-authored-by: Vishal Dhayagude <vishdha@users.noreply.github.com>
Co-authored-by: sahil28297 <37302950+sahil28297@users.noreply.github.com>