diff --git a/foundation/erpnext_foundation/doctype/portal_job/portal_job.json b/foundation/erpnext_foundation/doctype/portal_job/portal_job.json index c67099a0..75ac1b87 100644 --- a/foundation/erpnext_foundation/doctype/portal_job/portal_job.json +++ b/foundation/erpnext_foundation/doctype/portal_job/portal_job.json @@ -1,340 +1,340 @@ { - "allow_copy": 0, - "allow_guest_to_view": 1, - "allow_import": 0, - "allow_rename": 0, - "beta": 0, - "creation": "2017-02-24 12:06:02.509773", - "custom": 0, - "docstatus": 0, - "doctype": "DocType", - "document_type": "", - "editable_grid": 1, - "engine": "InnoDB", + "allow_copy": 0, + "allow_guest_to_view": 1, + "allow_import": 0, + "allow_rename": 0, + "beta": 0, + "creation": "2017-02-24 12:06:02.509773", + "custom": 0, + "docstatus": 0, + "doctype": "DocType", + "document_type": "", + "editable_grid": 1, + "engine": "InnoDB", "fields": [ { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "title", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 1, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Title", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "title", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 1, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Title", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "company_name", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Company Name", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "company_name", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Company Name", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "status", - "fieldtype": "Select", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Status", - "length": 0, - "no_copy": 0, - "options": "Open\nCompleted\nDeveloper Hired\nExpired\nWithdrawn", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "status", + "fieldtype": "Select", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Status", + "length": 0, + "no_copy": 0, + "options": "Open\nCompleted\nDeveloper Hired\nExpired\nWithdrawn", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "description", - "fieldtype": "Text Editor", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 1, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Description", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "description", + "fieldtype": "Text Editor", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 1, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Description", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "contact_number", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Contact Number", - "length": 0, - "no_copy": 0, - "options": "", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "contact_number", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Contact Number", + "length": 0, + "no_copy": 0, + "options": "", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "country", - "fieldtype": "Link", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Country", - "length": 0, - "no_copy": 0, - "options": "Country", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "country", + "fieldtype": "Link", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Country", + "length": 0, + "no_copy": 0, + "options": "Country", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "job_type", - "fieldtype": "Select", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Job Type", - "length": 0, - "no_copy": 0, - "options": "Setup\nImplementation\nTraining\nCustomization\nPrint Format\nIntegration\nFeature Development\nApp Development", - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "job_type", + "fieldtype": "Select", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Job Type", + "length": 0, + "no_copy": 0, + "options": "Setup\nImplementation\nTraining\nCustomization\nPrint Format\nIntegration\nFeature Development\nApp Development", + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "default": "1", - "fieldname": "show_in_website", - "fieldtype": "Check", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Show in Website", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "default": "1", + "fieldname": "show_in_website", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Show in Website", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 - }, + }, { - "allow_bulk_edit": 0, - "allow_on_submit": 0, - "bold": 0, - "collapsible": 0, - "columns": 0, - "fieldname": "route", - "fieldtype": "Data", - "hidden": 0, - "ignore_user_permissions": 0, - "ignore_xss_filter": 0, - "in_filter": 0, - "in_global_search": 0, - "in_list_view": 0, - "in_standard_filter": 0, - "label": "Route", - "length": 0, - "no_copy": 0, - "permlevel": 0, - "precision": "", - "print_hide": 0, - "print_hide_if_no_value": 0, - "read_only": 0, - "remember_last_selected_value": 0, - "report_hide": 0, - "reqd": 0, - "search_index": 0, - "set_only_once": 0, + "allow_bulk_edit": 0, + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, + "fieldname": "route", + "fieldtype": "Data", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_global_search": 0, + "in_list_view": 0, + "in_standard_filter": 0, + "label": "Route", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "remember_last_selected_value": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, "unique": 0 } - ], - "has_web_view": 1, - "hide_heading": 0, - "hide_toolbar": 0, - "idx": 0, - "image_view": 0, - "in_create": 0, - "is_published_field": "show_in_website", - "is_submittable": 0, - "issingle": 0, - "istable": 0, - "max_attachments": 0, - "modified": "2017-10-25 05:24:04.271224", - "modified_by": "Administrator", - "module": "ERPNext Foundation", - "name": "Portal Job", - "name_case": "", - "owner": "Administrator", + ], + "has_web_view": 1, + "hide_heading": 0, + "hide_toolbar": 0, + "idx": 0, + "image_view": 0, + "in_create": 0, + "is_published_field": "show_in_website", + "is_submittable": 0, + "issingle": 0, + "istable": 0, + "max_attachments": 0, + "modified": "2018-10-25 05:24:04.271224", + "modified_by": "Administrator", + "module": "ERPNext Foundation", + "name": "Portal Job", + "name_case": "", + "owner": "Administrator", "permissions": [ { - "amend": 0, - "apply_user_permissions": 0, - "cancel": 0, - "create": 1, - "delete": 1, - "email": 1, - "export": 1, - "if_owner": 0, - "import": 0, - "permlevel": 0, - "print": 1, - "read": 1, - "report": 1, - "role": "System Manager", - "set_user_permissions": 0, - "share": 1, - "submit": 0, + "amend": 0, + "apply_user_permissions": 0, + "cancel": 0, + "create": 1, + "delete": 1, + "email": 1, + "export": 1, + "if_owner": 0, + "import": 0, + "permlevel": 0, + "print": 1, + "read": 1, + "report": 1, + "role": "System Manager", + "set_user_permissions": 0, + "share": 1, + "submit": 0, "write": 1 } - ], - "quick_entry": 1, - "read_only": 0, - "read_only_onload": 0, - "route": "/erpnext-jobs", - "show_name_in_global_search": 0, - "sort_field": "modified", - "sort_order": "DESC", - "title_field": "title", - "track_changes": 1, + ], + "quick_entry": 1, + "read_only": 0, + "read_only_onload": 0, + "route": "/erpnext-jobs-1", + "show_name_in_global_search": 0, + "sort_field": "modified", + "sort_order": "DESC", + "title_field": "title", + "track_changes": 1, "track_seen": 0 } \ No newline at end of file diff --git a/foundation/erpnext_foundation/doctype/service_provider/templates/service_provider.html b/foundation/erpnext_foundation/doctype/service_provider/templates/service_provider.html index f725e4ee..b23ee54d 100644 --- a/foundation/erpnext_foundation/doctype/service_provider/templates/service_provider.html +++ b/foundation/erpnext_foundation/doctype/service_provider/templates/service_provider.html @@ -3,7 +3,7 @@ {% block page_content %}

{{ title }}

{% if membership_type %} -

{{ membership_type }} Member

+

{{ membership_type }} Member

{% endif %}
@@ -15,39 +15,40 @@
{{ introduction }} - - - - - - - - - - - - - - - - - - {% if website_url %} - - - - - {% endif %} -
Country{{ country }}
Address{{ (address or '').replace('\n', '
') }}
Phone{{ phone }}
Email - {{ email }}
Website{{ website_url }}
-
+
+ + + + + + + + + + + + + + + + + + {% if website_url %} + + + + + {% endif %} +
Country{{ country }}
Address{{ (address or '').replace('\n', '
') }}
Phone{{ phone }}
Email + {{ email }}
Website{{ website_url }}
+
{{ details }}
-

Contact {{ title }}

+

Contact {{ title }}

{% endblock %} diff --git a/foundation/hooks.py b/foundation/hooks.py index 6ca08fb6..59f2bdc6 100644 --- a/foundation/hooks.py +++ b/foundation/hooks.py @@ -41,15 +41,25 @@ website_context = { # "navbar_search": 1, "brand_html": "Oensource ERP SoftwareERPNext.org", "top_bar_items": [ - {"label": "About", "url": "/about", "right":1}, - {"label": "Blog", "url": "/blog", "right":1}, - {"label": "Foundation", "child_items":[ - {"label": "Chapter", "url": "/chapters","right": 1}, - {"label": "Foundation Fellow", "url": "/foundation-fellow","right": 1} + {"label": "ERPNext", "child_items":[ + {"label": "Get ERPNext", "url": "/get-started"}, + {"label": "User Manual", "url": "/docs/user"}, + {"label": "Free Trial", "url": "https://erpnext.com"}, + ], "right":1}, + {"label": "Community", "child_items":[ + {"label": "Forum", "url": "https://discuss.erpnext.com", "target": "target='_blank'"}, + {"label": "Chapters", "url": "/chapter-list"}, + {"label": "Fellows", "url": "/fellows"} ], "right":1}, {"label": "Services", "child_items":[ - {"label": "Service Providers", "url": "/service-providers","right": 1}, - {"label": "Freelancer Jobs", "url": "/erpnext-jobs", "right": 1}, + {"label": "Service Providers", "url": "/service-providers"}, + {"label": "Freelancer Jobs", "url": "/erpnext-jobs"}, + {"label": "Become a Service Provider", "url": "/faq"} + ], "right":1}, + {"label": "Foundation", "child_items":[ + {"label": "About", "url": "/about"}, + {"label": "Blog", "url": "/blog"}, + {"label": "Memberships", "url": "/members"}, ], "right":1}, ], "hide_login": 0, diff --git a/foundation/public/img/people/ardan.png b/foundation/public/img/people/ardan.png new file mode 100644 index 00000000..7ce44484 Binary files /dev/null and b/foundation/public/img/people/ardan.png differ diff --git a/foundation/public/img/people/dhananjay.jpg b/foundation/public/img/people/dhananjay.jpg new file mode 100644 index 00000000..330ccd88 Binary files /dev/null and b/foundation/public/img/people/dhananjay.jpg differ diff --git a/foundation/public/img/people/rushabh.jpg b/foundation/public/img/people/rushabh.jpg new file mode 100644 index 00000000..be8cc4ec Binary files /dev/null and b/foundation/public/img/people/rushabh.jpg differ diff --git a/foundation/public/img/people/tux.png b/foundation/public/img/people/tux.png new file mode 100644 index 00000000..9d8e4789 Binary files /dev/null and b/foundation/public/img/people/tux.png differ diff --git a/foundation/www/about.html b/foundation/www/about.html index 10408265..11ba51f1 100644 --- a/foundation/www/about.html +++ b/foundation/www/about.html @@ -2,23 +2,60 @@ {% block title %}About ERPNext Foundation{% endblock %} -{% macro media(title, body, image) %} -
- -
-
{{ title }}
- {{ body }} -
-
-{% endmacro %} - {% block content%} +{% set team = [ + { + 'name': 'Basawaraj Savalagi', + 'designation': 'CEO', + 'bio': 'Basawaraj is a Computer Science Engineer and has previously worked in Deloitte consulting on SAP and SELCO Solar, a social enterprise in multiple roles. He is passionate about radically changing the way SMEs work by driving adoption of ERPNext.', + 'discuss': 'Basawaraj_Savalagi', + 'image': 'https://erpnext.org/files/basawaraj.png' + }, + { + 'name': 'Revant Nandgaonkar', + 'designation': 'Director, Community Manager', + 'bio': 'Revant is a free and open source software enthusiast and founder of MN Technique. He began his journey by implementing ERPNext for his family business and now helps businesses onboard on to this true free and open source ERP.', + 'discuss': 'revant_one', + 'image': 'https://erpnext.org/files/revant.jpg' + }, + { + 'name': 'Rushabh Mehta', + 'designation': 'Director', + 'bio': "Rushabh is the CEO of Frappe Technologies and the original creator of Frappé Framework and ERPNext. He built ERPNext for his family business and then later published it as an open source project. In his free time, he likes to read and spend time relaxing at home.", + 'discuss': 'rmehta', + 'image': '/assets/foundation/img/people/rushabh.jpg' + }, + { + 'name': 'Nabin Hait', + 'designation': 'Director', + 'bio': 'Nabin is the Chief Operating Officer of Frappe Technologies and the lead developer at ERPNext. Nabin is responsible for managing the ERPNext project and managing the team at Frappe. Nabin is a great cook and likes cooking and watching movies in his free time.', + 'discuss': 'nabinhait', + 'image': 'https://erpnext.org/files/nabin.jpg' + }, + { + 'name': 'Prakash Hodage', + 'designation': 'Director, Accountant', + 'bio': 'Prakash is the accountant and administrative officer of Frappe Technologies. Prakash has extensive experience in managing accounting and administration and is an expert ERPNext user, also handling user support from time to time. In his free time, Prakash loves to read and help people around him.', + 'discuss': 'prakash', + 'image': 'https://erpnext.org/files/prakash.jpg' + }, + { + 'name': 'You', + 'designation': 'Apply for a position', + 'bio': 'If you have a vision for working for an open source community and taking the foundation to new places, we would love to get in touch with you. Get in Touch', + 'discuss': '', + 'image': '/assets/foundation/img/people/tux.png' + } + +]%} +
-

ERPNext Foundation

+

ERPNext Foundation

We are a registered not-for-profit entity representing a community of ERPNext users, developers and service providers.

- +

Our Vision

@@ -38,41 +75,54 @@

People

We are supported by a great team who have years of experience in ERPNext and a passion for Free and Open Source Software.

- {{ media( - "Basawaraj Savalagi, CEO", - "Basawaraj is a believer in free and open source software. Computer Science Engineer by training and has previously worked in Deloitte consulting on SAP and SELCO Solar, a social enterprise in multiple roles. He is passionate about radically changing the way SMEs work by driving adoption of open source software like ERPNext.", - "basawaraj.png" - ) - }} +
+ {% for item in team %} +
+
+ {{ item.name }} +
+
{{ item.name }}
+
{{ item.designation }}
+
+
+
+
+
{{ item.name }}
+
{{ item.bio }}
+

+ + Forum +

+
+
+
+ {% if loop.index is divisibleby 3 %} +
+ {% endif %} + {% endfor %} +
- {{ media( - "Revant Nandgaonkar, Director", - "Revant is a free and open source software enthusiast. Management student and an entrepreneur. Founder of MN Technique, ERPNext Service Provider. He began his journey by implementing ERPNext for his family business and now helps businesses onboard on to this true free and open source ERP.", - "revant.jpg" - ) - }} +
- {{ media( - "Rushabh Mehta, Director", - "Rushabh is the CEO of Frappé Technologies Private Limited and one of the original creators of Frappé Framework and ERPNext. He built ERPNext for his family's business and then later published it as an open source project. Rushabh is an Industrial Engineer by training but a software developer by profession. In his free time, he likes to read and spend time relaxing at home.", - "rushabh.jpg" - ) - }} - - {{ media( - "Nabin Hait, Director", - "Nabin is the Chief Operating Officer of Frappé Technologies Private Limited and the lead developer at ERPNext. Nabin is responsible for managing the ERPNext project and managing the team at Frappé. Nabin is a great cook and likes cooking and watching movies in his free time.", - "nabin.jpg" - ) - }} - - {{ media( - "Prakash Hodage, Director", - "Prakash is the accountant and administrative officer of Frappé Technologies Private Limited. He is the person responsible for getting the foundation registered. Prakash has extensive experience in managing accounting and administration and is an expert ERPNext user, also handling user support from time to time. In his free time, Prakash loves to read and help people around him.", - "prakash.jpg" - ) - }} +
+
+
+ Dhananjay Palishikar +
+
Dhananjay Palishikar, + + Sapcon Instruments +
+ "As an ERPNext user, I see our reliance on ERPNext only growing in the coming years. One of our key challenges is to make more than 1 million items and their BOMs accessible to our Sales and Production Teams; ERPNext has been able to adapt to such requirements. With significant investment made towards implementing ERPNext, Foundation’s commitment to open source will be key in securing our company’s future.

+The idea of a foundation membership helps users like me contribute in a small and meaningful way, while it also provides an opportunity to raise domain specific issues with the foundation team." +
+
+
+

Want to talk to someone in the foundation? Get in touch diff --git a/foundation/templates/pages/__init__.py b/foundation/www/assets/img/meetups/__init__.py similarity index 100% rename from foundation/templates/pages/__init__.py rename to foundation/www/assets/img/meetups/__init__.py diff --git a/foundation/www/assets/img/meetups/bay-area.png b/foundation/www/assets/img/meetups/bay-area.png new file mode 100644 index 00000000..d96b3672 Binary files /dev/null and b/foundation/www/assets/img/meetups/bay-area.png differ diff --git a/foundation/www/assets/img/meetups/bengaluru.png b/foundation/www/assets/img/meetups/bengaluru.png new file mode 100644 index 00000000..dfc764c9 Binary files /dev/null and b/foundation/www/assets/img/meetups/bengaluru.png differ diff --git a/foundation/www/assets/img/meetups/city.png b/foundation/www/assets/img/meetups/city.png new file mode 100644 index 00000000..2bde7a71 Binary files /dev/null and b/foundation/www/assets/img/meetups/city.png differ diff --git a/foundation/www/assets/img/meetups/dubai.png b/foundation/www/assets/img/meetups/dubai.png new file mode 100644 index 00000000..54a4e000 Binary files /dev/null and b/foundation/www/assets/img/meetups/dubai.png differ diff --git a/foundation/www/assets/img/meetups/frankfurt.png b/foundation/www/assets/img/meetups/frankfurt.png new file mode 100644 index 00000000..5a4577d8 Binary files /dev/null and b/foundation/www/assets/img/meetups/frankfurt.png differ diff --git a/foundation/www/assets/img/meetups/jakarta.png b/foundation/www/assets/img/meetups/jakarta.png new file mode 100644 index 00000000..12462f74 Binary files /dev/null and b/foundation/www/assets/img/meetups/jakarta.png differ diff --git a/foundation/www/assets/img/meetups/mumbai.png b/foundation/www/assets/img/meetups/mumbai.png new file mode 100644 index 00000000..d519f7ca Binary files /dev/null and b/foundation/www/assets/img/meetups/mumbai.png differ diff --git a/foundation/www/assets/img/meetups/new-england.png b/foundation/www/assets/img/meetups/new-england.png new file mode 100644 index 00000000..d8deed0f Binary files /dev/null and b/foundation/www/assets/img/meetups/new-england.png differ diff --git a/foundation/www/assets/img/meetups/paris.png b/foundation/www/assets/img/meetups/paris.png new file mode 100644 index 00000000..e05df721 Binary files /dev/null and b/foundation/www/assets/img/meetups/paris.png differ diff --git a/foundation/www/assets/img/meetups/pune.png b/foundation/www/assets/img/meetups/pune.png new file mode 100644 index 00000000..86c67d29 Binary files /dev/null and b/foundation/www/assets/img/meetups/pune.png differ diff --git a/foundation/www/chapter-list.html b/foundation/www/chapter-list.html new file mode 100644 index 00000000..303c42cd --- /dev/null +++ b/foundation/www/chapter-list.html @@ -0,0 +1,94 @@ +{% extends "templates/web.html" %} + +{% block page_content %} + +{% set chapters = [ + { + 'city': 'Mumbai, India', + 'meetup-link': 'https://www.meetup.com/ERPNext-Community-Meetup/', + 'image': '/assets/img/meetups/mumbai.png', + 'members': 720 + }, + { + 'city': 'Bengaluru, India', + 'meetup-link': 'https://www.meetup.com/ERPNext-Bangalore-Community/', + 'image': '/assets/img/meetups/bengaluru.png', + 'members': 590 + }, + { + 'city': 'Bay Area, United States', + 'meetup-link': 'https://www.meetup.com/ERPNext-Community-Bay-Area/', + 'image': '/assets/img/meetups/bay-area.png', + 'members': 15 + }, + { + 'city': 'Pune, India', + 'meetup-link': 'https://www.meetup.com/Pune-ERPNext-Meetup/', + 'image': '/assets/img/meetups/pune.png', + 'members': 540 + }, + { + 'city': 'New England, United States', + 'meetup-link': 'https://www.meetup.com/ERPNext-New-England/events/246491433/', + 'image': '/assets/img/meetups/new-england.png', + 'members': 10 + }, + { + 'city': 'Dubai, UAE', + 'meetup-link': 'https://www.meetup.com/UAE-ERPNext-Meetup/', + 'image': '/assets/img/meetups/dubai.png', + 'members': 53 + }, + { + 'city': 'Frankfurt, Germany', + 'meetup-link': 'https://www.meetup.com/ERPNext-Europe/', + 'image': '/assets/img/meetups/frankfurt.png', + 'members': 24 + }, + { + 'city': 'Jakarta, Indonesia', + 'meetup-link': 'https://www.meetup.com/ERPNext-Jakarta-Community-Meetup/', + 'image': '/assets/img/meetups/jakarta.png', + 'members': 55 + }, + { + 'city': 'Paris, France', + 'meetup-link': 'https://www.meetup.com/ERPNext-France/', + 'image': '/assets/img/meetups/paris.png', + 'members': 20 + }, +] %} + +

+

Chapters

+

+ Become a part of your local ERPNext Community by joining a chapter near you. + If you can't find one, start your own! +

+
+
+
+ {% for item in chapters %} + + + {{ item.city }} +
+
{{ item.city }}
+
{{ item.members }} members
+
+
+ {% if loop.index is divisibleby 3 %} +
+ {% endif %} + {% endfor %} +
+
+
+ To start your own chapter, start a group on Meetup.com and get in touch with us. +
+
+ Contact Us To Start a New Chapter +
+
+
+{% endblock %} diff --git a/foundation/www/contribute.html b/foundation/www/contribute.html new file mode 100644 index 00000000..c0bf1701 --- /dev/null +++ b/foundation/www/contribute.html @@ -0,0 +1,7 @@ +
+

Be a Part of Something Bigger

+

+ Are you interested in helping others use ERPNext? Here are some points to think about and tips about getting started. +

+
+ diff --git a/foundation/www/erpnext-jobs.html b/foundation/www/erpnext-jobs.html new file mode 100644 index 00000000..cd849d0a --- /dev/null +++ b/foundation/www/erpnext-jobs.html @@ -0,0 +1,27 @@ +{% extends "templates/web.html" %} + +{% block title %}ERPNext Job Board{% endblock %} + +{% block page_content %} +
+

ERPNext Job Board

+

+ Looking for customization or implementation partners? Connect with the community by posting a Job. +

+ {% for item in frappe.get_all("Portal Job", "title, creation, country, description, route", + {"show_in_website": 1}, order_by = "creation desc", limit=50) %} + +
+
+ {{ item.title }} +
+
{{ html2text(item.description)|truncate(240) }}
+
+ {{ frappe.format_date(item.creation) }} + {{ item.country }} +
+
+
+ {% endfor %} +
+{% endblock %} \ No newline at end of file diff --git a/foundation/www/faq.md b/foundation/www/faq.md index 5e1f006d..20dda1af 100644 --- a/foundation/www/faq.md +++ b/foundation/www/faq.md @@ -1,14 +1,16 @@ -# Community FAQ +
+

Become an ERPNext Service Provider

+

+ Are you interested in helping others use ERPNext? Here are some points to think about and tips about getting started. +

+
-> If you are an independent software vendor or service provider wanting to offer ERPNext services to your customer base, this is for you. ### 1. What is ERPNext? ERPNext is an Open Source ERP application that helps Small to Medium Sized business manage their organizations efficiently. It covers financial accounting, inventory management, manufacturing, human resource management and much more. It is a web based application, easy and user friendly. -The ERPNext Project is now backed by the ERPNext Foundation (https://erpnext.org) a not-for-profit that works towards building and maintaining ERPNext. - ---- +The ERPNext Project is now backed by the ERPNext Foundation, a not-for-profit that works towards building and maintaining ERPNext. ### 2. I want to sell ERPNext Service to my customers. How can I do that? @@ -16,20 +18,16 @@ Before you sell anything to anyone, you must be completely convinced that it is > Disclosure: We use ERPNext extensively in our own organization too! ---- - ### 3. Will I get support during self-implementation? You need not pay for self implementation, you can either use the 30-day trial at [erpnext.com](https://erpnext.com) or use the [Virtual Machine](https://erpnext.com/download). If you need support, you can first go through: -1. [ERPNext user guide.](http://erpnext.org/docs/user/manual/en/) -1. [Help product videos.](http://frappe.io/docs/user/videos/learn) +1. [ERPNext user guide.](/docs/user/manual/en/) +1. [Help product videos.](https://www.youtube.com/c/erpnext) 1. [Ask questions at the forum.](https://discuss.erpnext.com) If you need priority one-on-one help sessions, you can also buy a subscription service for it. ---- - ### 4. What skills do I require to implement ERPNext? To implement ERPNext, you must have a general understanding of financial accounting, inventory management and how organizations manage their information. Skills in spreadsheet tools like Excel will be handy for data import. If you are good in HTML / CSS, you can also create a website from within ERPNext. @@ -40,17 +38,13 @@ If you also want to offer customization services on ERPNext, you should have som 1. Python 1. Java Script ---- - ### 5. Do I need to pay anything to start selling ERPNext No. This is an open source application and it does not require you to pay us anything. You can charge the customer as you prefer for implementation, training, customization and support. If your customer wants production support on their servers, you can do it yourself. -Do not forget to list yourself as a service provider on the [community portal](/service-providers) - ---- +If you want to list yourself a [service provider](/service-providers) then you must become a [member of the foundation](/members). ### 6. As a service provider how do I make money? @@ -60,12 +54,11 @@ With ERPNext compared to other ERPs, the cost of license is zero, so there is mo 1. Integration: Integrating with other applications using the API 1. Print Formats and Reports: Customized Print Layouts and Reports 1. Website and Webshop setup: Customizing and setting up the website and webshop via ERPNext -1. Customization: Creating of domain specific apps, connectors for the customer 1. Support: Priority phone, in-person support as needed 1. Maintenance: Support for patches and upgrades -1. Hosting: Providing hosting services (sponsor's message: though you can always host with https://erpnext.com) - ---- +1. Hosting: Providing hosting services +1. Customization: Creating of domain specific apps, connectors for the customer. Though customization looks tempting, it is not always the best idea. Read further. +1. [Become a Reseller for ERPNext.com](https://erpnext.com/reseller): By hosting your customer at ERPNext.com, you get hassle free hosting, support and bug-fix guarantee all while earning a useful commission. ### 7. What is the general sales / implementation process for ERPNext @@ -77,8 +70,6 @@ With ERPNext compared to other ERPs, the cost of license is zero, so there is mo 6. Finally before going live, accounting and inventory opening data should be setup and with the help of the champion. 7. If the customer requires the website to be from ERPNext, you will need to help the customer to create content and setup their master data. ---- - ### 8. I would like to be listed at the ERPNext Community Portal, How is that possible? For listing yourself on the community portal, you must become a member of the ERPNext foundation. You can list yourself as a Service Provider, and provide details about services you offer on ERPNext. @@ -87,15 +78,11 @@ By becoming a member, you will not only support the ongoing development and enha [Learn more about memberships](/memberships) ---- +### 9. How do I contribute back to ERPNext -### 9. I want to sell services but pass on development support to you. Does that work? +ERPNext is built as a community product with the help of hundreds on end users and developers. If you face a problem with ERPNext or have a suggetion for a feature, you should plan on having the feature contributed back to ERPNext. Unlike other "open core" projects, ERPNext does not encourage 3rd party apps, which ultimately lead to a bad user experience and usually leave the end-user hostage to a service provider and in many cases saddled with a bad solution. -No, we (ERPNext Foundation / Frappe Technologies) do not do any paid development. All our energy is used in supporting and enhancing the ERPNext product. If you want to develop a feature or customization, you can engage a freelancer or drop in a request on the [discussion forum](https://discuss.erpnext.com). If you are planning do this on any scale, it is best to [get one of your developers trained on ERPNext](https://www.youtube.com/watch?v=eCAMPcl7NKc&list=PL3lFfCEoMxvzHtsZHFJ4T3n5yMM3nGJ1W). - -[It is very easy to build new apps / extensions to ERPNext.](http://frappe.io/docs/user/tutorial/) - ---- +If you want to propose an enhancement, you must first send a proposal. Once it is okayed by any maintainer, you can start development according to the contribution guidelines and send a pull request to the core product. [Read the contribution guidelines for more details](https://github.com/frappe/erpnext/wiki/Contribution-Guidelines) ### 10. I want to sell ERPNext in my brand name, will you do that? @@ -106,7 +93,6 @@ ERPNext is our brand and identity. All work we do will be under the brand name o --- - [Still have questions? Ask them at the forum](https://discuss.erpnext.com). [Have you listed yourself as a service provider yet?](/service-providers) diff --git a/foundation/www/fellows.html b/foundation/www/fellows.html new file mode 100644 index 00000000..d788393d --- /dev/null +++ b/foundation/www/fellows.html @@ -0,0 +1,121 @@ +{% extends "templates/web.html" %} + +{% block title %}ERPNext Foundation Fellows{% endblock %} +{% block page_content %} + +{% set fellows = [ + { + 'name': 'Annop Kurungadam', + 'image': 'https://erpnext.org/files/anoop.jpeg', + 'website': 'https://earthianslive.com', + 'discuss': 'akurungadam', + 'github': 'akurungadam' + }, + { + 'name': 'Charles-Henri Decultot', + 'image': 'https://erpnext.org/files/charles_henri.jpeg', + 'website': 'https://dokos.io', + 'discuss': 'chdecultot', + 'github': 'chdecultot' + }, + { + 'name': 'Ben Cornwell Mott', + 'image': 'https://erpnext.org/files/bcornwellmott.jpeg', + 'website': 'https://www.velometro.com', + 'discuss': 'bcornwellmott', + 'github': 'Ben_Cornwell_Mott' + }, + { + 'name': 'Pawan Mehta', + 'image': 'https://erpnext.org/files/pawan_mehta.png', + 'website': 'https://openetech.com', + 'discuss': 'Pawan', + 'github': 'PawanMeh' + }, + { + 'name': 'Max Morais', + 'image': 'https://erpnext.org/files/maxmorais.jpeg', + 'website': 'http://maxmorais.github.io/', + 'discuss': 'max_morais_dmm', + 'github': 'maxmorais' + }, + { + 'name': 'Ranjith Kurungadam', + 'image': 'https://erpnext.org/files/rkurungadam.png', + 'website': 'https://earthianslive.com', + 'discuss': 'Ranjith', + 'github': 'rkurungadam' + }, + { + 'name': 'Jamsheer', + 'image': 'https://erpnext.org/files/jamsheer.jpeg', + 'website': 'https://earthianslive.com', + 'discuss': 'jamsheer', + 'github': 'pjamsheer' + }, + { + 'name': 'Dominik Ottenbreit', + 'image': 'https://erpnext.org/files/dominik.jpeg', + 'website': 'https://www.eso-electronic.com/', + 'discuss': 'dominik', + 'github': 'dottenbr' + }, + { + 'name': 'Revant Nandgaonkar', + 'image': 'https://erpnext.org/files/revant.jpg', + 'website': 'https://mntechnique.com/', + 'discuss': 'revant_one', + 'github': 'revant' + } + ] +%} + +
+

Foundation Fellows

+

+ ERPNext Foundation Fellows have shown outstanding leadership in contributing features and/or helping out new members on the forum. Lets take a moment to recognize their efforts. +

+
+ {% for item in fellows %} +
+ {{ item.title }} +
+
+ {{ item.name }} +
+ +
+ +
+ {% if loop.index is divisibleby 3 %} +
+ {% endif %} + {% endfor %} +
+

+ + Contact Us To Nominate A Fellow +

+
+ +{% endblock %} + diff --git a/foundation/www/get-started.html b/foundation/www/get-started.html index 160f03c8..bb5fdc1c 100644 --- a/foundation/www/get-started.html +++ b/foundation/www/get-started.html @@ -2,7 +2,7 @@ {% block title %} Get Started - ERPNext Foundation{% endblock %} {% block content %}
-

Getting Started with ERPNext

+

Getting Started with ERPNext

ERPNext is Python based web application which runs on MariaDB. There are many ways to get started.

@@ -21,7 +21,7 @@
{% macro card(title, body, btnlink, color) %} -
+
{{ title }}
diff --git a/foundation/www/index.html b/foundation/www/index.html index 99c364f2..cbbb9fde 100644 --- a/foundation/www/index.html +++ b/foundation/www/index.html @@ -12,16 +12,11 @@ {% macro card(title, body, btnlink, badges) %}
- {% endmacro %} @@ -122,8 +117,12 @@
-

Independent Reviews

-

Loved by users all over the world

+

+

"ERPNext and Frappe are monumental projects. We are happy contributors." +
Kailash Nadh, CTO, Zerodha
+
+ +

diff --git a/foundation/www/members/index.html b/foundation/www/members/index.html index b3f72437..ca88a4eb 100644 --- a/foundation/www/members/index.html +++ b/foundation/www/members/index.html @@ -4,17 +4,15 @@ {% macro card(title, body, badges, color) %} {% endmacro %} @@ -26,33 +24,35 @@

The ERPNext Foundation aims to be driven by its members. By becoming a members, you get a preferred listing on the ERPNext Job Board and access to incoming requests for implementation and customization jobs, and show your support for ERPNext

-
-

Membership Types

+
+

Membership Types

{{ card( "Gold Member", - "By becoming a Gold Member, you show your leadership and a premium positioning for your brand. As a Gold Member, you have priority on all the ERPNext Listings.", + "By becoming a Gold Member, you show your leadership and a premium positioning for your brand. As a Gold Member, you have a priority listing on the service provider's page.", ["$5000", "₹3,00,000"], "blue") }} {{ card( "Silver Member", - "Silver membersget priority listing on the Service Provider board after the Gold Members. Becoming a silver member will give you increased visibility in the ERPNext Community.", + "Silver members get priority listing on the Service Provider board after the Gold Members. Silver members get listed after the Gold Members on the service provider's page.", ["$1500", "₹1,00,000"], "gray") }} {{ card( "Individual Member", - "Individual membership is ideal for users and freelancers who want to show their solidarity to the project and community. Individual members get listed above those with a free listing.", + "Individual membership is ideal for users and freelancers who want to show their support to the project. Individual members are also listed on the service provider's page.", ["$200", "₹10,000"], "light-gray") }}
-

- Become A Member -

-

- See List of All Members -

+
{% endblock %} diff --git a/foundation/www/service-providers.html b/foundation/www/service-providers.html index b2d600a1..182d6c0b 100644 --- a/foundation/www/service-providers.html +++ b/foundation/www/service-providers.html @@ -1,66 +1,82 @@ {% extends "templates/web.html" %} -{% macro member(m, color, show_image=True) %} - -
- {% if show_image and m.image %} - - {% endif %} -
-
{{ m.title }}
-
- {{ m.introduction | truncate(140) }} +{% macro show_section(members, with_img = True) %} +
+ {% endif %} + {% endfor %}
- {% endmacro %} {% block page_content %} + +
+

ERPNext Service Providers

+

+ ERPNext Members are both Service Providers and End Users. Check out their website if you are looking for help in your region. +

+
+
+

Gold Members

+ {{ show_section(gold_members) }} +
+ +
+

Silver Members

+ {{ show_section(silver_members) }} +
+ +
+

Individual Members

+ {{ show_section(individual_members, with_img = False) }} +
+ +
+
+
+
+ Ardan Peddell +
+
Ardan Peddell, + CoreBPM
+ "CoreBPM been using and eventually contributing to ERPNext for over three years now, and as a company that has relied on Linux and Open Source components for our business. We spent at least a year evaluating various other open source ERP projects and the path always lead back to ERPNext because of it’s flexibility, functionality and adaptability. Without a doubt it was the easiest ERP project to develop and customise." +
+
+
+
+
+

If you want to get listed on this page, join the Foundation and become a member

+ Become a Member +
+
-
-

Gold Members

-
- {% for m in gold_members %} - {{ member(m, 'blue') }} - {% endfor %} -
-
-
-

Silver Members

-
- {% for m in silver_members %} - {{ member(m, 'gray') }} - {% endfor %} -
-
- -
-

Individual Members

-
- {% for s in individual_members %} - {{ member(s, 'light-gray', False) }} - {% endfor %} -
-
- -{% if not form_dict.country %} -
-

Select by country

-
- {% for c in countries %} - - {% endfor %} -
-
-{% endif %} {% endblock %} diff --git a/foundation/www/service_providers.py b/foundation/www/service_providers.py index 7861b67f..db40a1c0 100644 --- a/foundation/www/service_providers.py +++ b/foundation/www/service_providers.py @@ -18,8 +18,8 @@ def get_context(context): gold_members = [d.name for d in frappe.get_all('Member', dict(membership_type='Gold'))] if gold_members: filters['member'] = ('in', gold_members) - context.gold_members = frappe.get_all('Service Provider', 'title, introduction, `image`, route', - filters) + context.gold_members = frappe.get_all('Service Provider', + 'title, introduction, `image`, route, website, country', filters) if context.gold_members: context.has_gold_member = 1 @@ -36,8 +36,8 @@ def get_context(context): silver_members = [d.name for d in frappe.get_all('Member', dict(membership_type='Silver'))] if silver_members: filters['member'] = ('in', silver_members) - context.silver_members = frappe.get_all('Service Provider', 'title, introduction, `image`, route', - filters, debug=1) + context.silver_members = frappe.get_all('Service Provider', + 'title, introduction, `image`, route, website, country', filters) if context.silver_members: context.has_silver_member = 1 @@ -56,7 +56,7 @@ def get_context(context): if individual_members: filters['member'] = ('in', individual_members) context.individual_members = frappe.get_all('Service Provider', - 'title, introduction, `image`, route', filters) + 'title, introduction, `image`, route, website, country', filters) if context.individual_members: context.has_individual_member = 1 @@ -66,22 +66,3 @@ def get_context(context): introduction='Become an invidual member to list here', route='/members' )) - - if context.form_dict.country: - context.title = 'ERPNext Service Providers in {0}'.format(context.form_dict.country) - - context.service_providers = [d for d in frappe.get_all('Service Provider', 'name, title, introduction, `image`, route', - dict(country=frappe.form_dict.country, show_in_website=1), order_by='name') if d.name not in individual_members] - - else: - # countries - context.countries = frappe.db.sql('''select - distinct country, count(*) - from - `tabService Provider` - where - show_in_website = 1 - group by - country - order by - country''') diff --git a/foundation/www/stories/__init__.py b/foundation/www/stories/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/foundation/www/stories/index.html b/foundation/www/stories/index.html new file mode 100644 index 00000000..e69de29b