Merge branch 'master' into fix-moment
2
.gitignore
vendored
@@ -4,3 +4,5 @@
|
||||
*.swp
|
||||
tags
|
||||
foundation/docs/current
|
||||
__pycache__/
|
||||
*.pyc
|
||||
|
||||
@@ -37,6 +37,7 @@ class Bounty(WebsiteGenerator):
|
||||
context.comment_list = get_comment_list(self.doctype, self.name)
|
||||
context.can_edit = can_edit
|
||||
|
||||
|
||||
def validate(self):
|
||||
from frappe.utils.user import get_user_fullname
|
||||
|
||||
@@ -70,17 +71,14 @@ def get_list_context(context):
|
||||
context.introduction = '''
|
||||
<div style="margin-bottom: 20px;">
|
||||
<a href="new-bounty" class="btn btn-primary">
|
||||
Start a new Bounty</a>
|
||||
Start a new bounty</a>
|
||||
</div>'''
|
||||
context.list_footer = '''
|
||||
<p><a class='text-muted small'
|
||||
href="/bounties-faq">Bounty FAQ</a></p>
|
||||
'''
|
||||
context.fmt_money = fmt_money
|
||||
context.get_paid_backers = get_paid_backers
|
||||
|
||||
|
||||
def get_paid_backers(backers):
|
||||
if backers:
|
||||
return [backer for backer in backers if backer.paid]
|
||||
else:
|
||||
return 0
|
||||
@@ -107,7 +107,7 @@
|
||||
<p>
|
||||
<h6 class="text-muted uppercase">About this feature</h6>
|
||||
<p>{{doc.description}}</p>
|
||||
<p class='text-muted'> Bounty created by {{ doc.owner }} </p>
|
||||
<p class="text-muted">Created by {{doc.owner}} </p>
|
||||
</p>
|
||||
<p>
|
||||
<p><a href="/bounties-faq" class='text-muted'>Bounties FAQ</a></p>
|
||||
|
||||
@@ -16,8 +16,7 @@
|
||||
<span class="label">{{ comments }} <i
|
||||
class='octicon octicon-comment-discussion'></i></span>
|
||||
{% endif %}
|
||||
{% set paid_backers = get_paid_backers(doc.bounty_backer) %}
|
||||
{% if paid_backers and paid_backers|len > 0 %}
|
||||
{% if paid_backers|len > 0 %}
|
||||
<span class="label">
|
||||
{{ paid_backers|len }}
|
||||
{% if paid_backers|len > 1 %}
|
||||
|
||||
@@ -1,337 +0,0 @@
|
||||
{
|
||||
"allow_copy": 0,
|
||||
"allow_guest_to_view": 1,
|
||||
"allow_import": 0,
|
||||
"allow_rename": 0,
|
||||
"autoname": "field:title",
|
||||
"beta": 0,
|
||||
"creation": "2017-05-08 17:00:17.610142",
|
||||
"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": 0,
|
||||
"in_list_view": 1,
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "chapter_head",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Chapter Head",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "User",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "introduction",
|
||||
"fieldtype": "Text Editor",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Introduction",
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "meetup_embed_html",
|
||||
"fieldtype": "Code",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 1,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Meetup Embed HTML",
|
||||
"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": "published",
|
||||
"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": "Published",
|
||||
"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": 1,
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "region",
|
||||
"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": "Region",
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "address",
|
||||
"fieldtype": "Text",
|
||||
"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": "Address",
|
||||
"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": "members",
|
||||
"fieldtype": "Table",
|
||||
"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": "Members",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Chapter Member",
|
||||
"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": "published",
|
||||
"is_submittable": 0,
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2017-08-02 13:04:00.723298",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "Chapter",
|
||||
"name_case": "Title 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,
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"quick_entry": 1,
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"route": "chapters",
|
||||
"show_name_in_global_search": 0,
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC",
|
||||
"track_changes": 1,
|
||||
"track_seen": 0
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2017, EOSSF and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.website.website_generator import WebsiteGenerator
|
||||
from frappe.model.document import Document
|
||||
from frappe import _
|
||||
|
||||
class Chapter(WebsiteGenerator):
|
||||
def get_context(self, context):
|
||||
context.no_cache = True
|
||||
|
||||
def validate(self):
|
||||
chapter_head = self.chapter_head
|
||||
chapter = frappe.get_all('Chapter', filters={'published': True}, fields=['chapter_head'])
|
||||
|
||||
# if chapter_head in [d.chapter_head for d in chapter]:
|
||||
# frappe.throw(_('You are not allow to create more than one Chapter'))
|
||||
|
||||
def enable(self):
|
||||
chapter = frappe.get_doc('Chapter', frappe.form_dict.name)
|
||||
chapter.append('members', dict(enable=self.value))
|
||||
chapter.save(ignore_permissions=1)
|
||||
frappe.db.commit()
|
||||
|
||||
|
||||
def get_list_context(context):
|
||||
context.allow_guest = True
|
||||
context.no_cache = True
|
||||
context.title = 'ERPNext Chapters'
|
||||
context.no_breadcrumbs = True
|
||||
context.order_by = 'creation desc'
|
||||
context.introduction = '<p>All ERPNext Chapters</p>'
|
||||
@@ -1,67 +0,0 @@
|
||||
{% extends "templates/web.html" %}
|
||||
|
||||
{% block page_content %}
|
||||
<h1>{{ title }}</h1>
|
||||
<h3>Details</h3>
|
||||
<p>{{ introduction }}</p>
|
||||
{% if meetup_embed_html %}
|
||||
{{ meetup_embed_html }}
|
||||
{% endif %}
|
||||
<h3>List of Members</h3>
|
||||
{% if members %}
|
||||
<table class="table table-bordered small" style="max-width: 500px;">
|
||||
<tr>
|
||||
<th width="15%" ></th>
|
||||
<th>Member Details</th>
|
||||
</tr>
|
||||
{% for user in members %}
|
||||
<tr>
|
||||
<td>{{ loop.index }}</td>
|
||||
<td>
|
||||
<div class="row">
|
||||
<div class="col-lg-6 col-md-6 col-sm-6">{{ frappe.db.get_value('User', user.user, 'full_name') }}</div>
|
||||
<div class="col-lg-6 col-md-6 col-sm-6 text-right">
|
||||
{% if user.website_url %}
|
||||
<a href="{{ user.website_url }}">{{ user.website_url or '' }}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="col-lg-12">
|
||||
{% if user.introduction %}
|
||||
{{ user.introduction }}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% else %}
|
||||
<p>No member yet.</p>
|
||||
{% endif %}
|
||||
|
||||
<h3>Chapter Head</h3>
|
||||
<table class="table table-bordered small" style="max-width: 500px;">
|
||||
<tr>
|
||||
<td style='width: 15%'>Name</td>
|
||||
<td>{{ frappe.db.get_value('User', chapter_head, 'full_name') }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Email</td>
|
||||
<td>{{ frappe.db.get_value('User', chapter_head, 'email') or '' }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Phone</td>
|
||||
<td>{{ frappe.db.get_value('User', chapter_head, 'phone') or '' }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h3>Address</h3>
|
||||
<p>{{ address }}</p>
|
||||
|
||||
<p style="margin: 20px 0 30px;"><a href="/join-chapter?name={{ name }}" class='btn btn-primary'>Join this Chapter</a></p>
|
||||
<p style="margin: 20px 0 30px;"><a href="/leave-chapter?name={{ name }}" class=''>Leave this Chapter</a></p>
|
||||
|
||||
<p class='text-muted'>If you would like to start a new chapter, email us at <a href='mailto:foundation@erpnext.org'>foundation@erpnext.org</a></p>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
<!-- this is a sample default web page template -->
|
||||
@@ -1,17 +0,0 @@
|
||||
<div style="margin-bottom: 30px; max-width: 600px" class="with-border clickable">
|
||||
<a href={{ route }}>
|
||||
<h3>{{ doc.title }}</h3>
|
||||
<p>
|
||||
<span class="label">{{ frappe.db.get_value('User', chapter_head, 'full_name') }}</span>
|
||||
<span class="label">
|
||||
{% if members %}
|
||||
Members: {{ members|length }}
|
||||
{% else %}
|
||||
Members: 0
|
||||
{% endif %}
|
||||
</span>
|
||||
</p>
|
||||
<p>{{ html2text(doc.introduction[:200]) }}{% if introduction|len > 200 %}...{% endif %}</p>
|
||||
</a>
|
||||
</div>
|
||||
<!-- this is a sample default list template -->
|
||||
@@ -1,162 +0,0 @@
|
||||
{
|
||||
"allow_copy": 0,
|
||||
"allow_guest_to_view": 0,
|
||||
"allow_import": 0,
|
||||
"allow_rename": 0,
|
||||
"beta": 0,
|
||||
"creation": "2017-05-08 17:01:23.626064",
|
||||
"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": "user",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "User",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "User",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "introduction",
|
||||
"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": "Introduction",
|
||||
"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": "website_url",
|
||||
"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": "Website URL",
|
||||
"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": "enabled",
|
||||
"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": "Enabled",
|
||||
"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": 0,
|
||||
"hide_heading": 0,
|
||||
"hide_toolbar": 0,
|
||||
"idx": 0,
|
||||
"image_view": 0,
|
||||
"in_create": 0,
|
||||
"is_submittable": 0,
|
||||
"issingle": 0,
|
||||
"istable": 1,
|
||||
"max_attachments": 0,
|
||||
"modified": "2017-05-22 16:29:01.536405",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "Chapter Member",
|
||||
"name_case": "",
|
||||
"owner": "Administrator",
|
||||
"permissions": [],
|
||||
"quick_entry": 1,
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"show_name_in_global_search": 0,
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC",
|
||||
"track_changes": 1,
|
||||
"track_seen": 0
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2017, EOSSF and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
|
||||
class ChapterMember(Document):
|
||||
def get_context(self, context):
|
||||
context.no_cache = True
|
||||
|
||||
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
// Copyright (c) 2017, EOSSF and contributors
|
||||
// For license information, please see license.txt
|
||||
|
||||
frappe.ui.form.on('Chapter Message', {
|
||||
onload: function(frm){
|
||||
console.log("here" + frappe.session.user)
|
||||
chapter_head = frappe.session.user
|
||||
frappe.db.get_value('Chapter', {chapter_head: chapter_head}, 'name', function(data) {
|
||||
frm.set_value('chapter', data.name);
|
||||
})
|
||||
},
|
||||
});
|
||||
@@ -1,153 +0,0 @@
|
||||
{
|
||||
"allow_copy": 0,
|
||||
"allow_guest_to_view": 0,
|
||||
"allow_import": 0,
|
||||
"allow_rename": 0,
|
||||
"beta": 0,
|
||||
"creation": "2017-05-11 14:22:40.165630",
|
||||
"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": "subject",
|
||||
"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": "Subject",
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "message",
|
||||
"fieldtype": "Text",
|
||||
"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": " Message",
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "chapter",
|
||||
"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": "Chapter",
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
}
|
||||
],
|
||||
"has_web_view": 0,
|
||||
"hide_heading": 0,
|
||||
"hide_toolbar": 0,
|
||||
"idx": 0,
|
||||
"image_view": 0,
|
||||
"in_create": 0,
|
||||
"is_submittable": 0,
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2017-05-12 11:10:12.066924",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "Chapter Message",
|
||||
"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,
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"quick_entry": 1,
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"show_name_in_global_search": 0,
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC",
|
||||
"track_changes": 1,
|
||||
"track_seen": 0
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2017, EOSSF and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
from frappe import _
|
||||
|
||||
class ChapterMessage(Document):
|
||||
def get_context(self, context):
|
||||
context.no_cache = True
|
||||
|
||||
def validate(self):
|
||||
chapter = frappe.get_doc('Chapter', self.chapter)
|
||||
if frappe.session.user != chapter.chapter_head:
|
||||
frappe.throw(_('You are not athourize to send message for this Chapter.'))
|
||||
|
||||
def on_update(self):
|
||||
chapter = frappe.get_doc('Chapter', self.chapter)
|
||||
recipients = [d.user for d in chapter.members]
|
||||
message = self.message
|
||||
message += "Chapter Title: " + self.chapter
|
||||
# chapter_title = self.chapter
|
||||
|
||||
frappe.sendmail(recipients = recipients,
|
||||
message = self.message,
|
||||
subject = self.subject)
|
||||
# reference_doctype=self.doctype, reference_name=self.name)
|
||||
|
||||
|
||||
def get_members_emails(chapterTitle):
|
||||
|
||||
members_list = frappe.get_all('User', fields=['email'],
|
||||
filters={'chapter.title': chapterTitle})
|
||||
|
||||
out = []
|
||||
for e in members_list:
|
||||
if e.email:
|
||||
# don't add if holiday
|
||||
out.append(e.email)
|
||||
print out
|
||||
return out
|
||||
@@ -1,10 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2017, EOSSF and Contributors
|
||||
# See license.txt
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import frappe
|
||||
import unittest
|
||||
|
||||
class TestChapterMessage(unittest.TestCase):
|
||||
pass
|
||||
@@ -1,7 +1,7 @@
|
||||
// Copyright (c) 2017, EOSSF and contributors
|
||||
// For license information, please see license.txt
|
||||
|
||||
frappe.ui.form.on('Chapter', {
|
||||
frappe.ui.form.on('Foundation Fellowship', {
|
||||
refresh: function(frm) {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,560 @@
|
||||
{
|
||||
"allow_copy": 0,
|
||||
"allow_guest_to_view": 1,
|
||||
"allow_import": 0,
|
||||
"allow_rename": 0,
|
||||
"autoname": "field:title",
|
||||
"beta": 0,
|
||||
"creation": "2017-10-27 05:03:24.894001",
|
||||
"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": 1,
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 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": 1,
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "email",
|
||||
"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": "Email",
|
||||
"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,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "phone",
|
||||
"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": "Phone",
|
||||
"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,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "website_url",
|
||||
"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": "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,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "address",
|
||||
"fieldtype": "Small Text",
|
||||
"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": "Address",
|
||||
"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,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "column_break_8",
|
||||
"fieldtype": "Column Break",
|
||||
"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,
|
||||
"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,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "image",
|
||||
"fieldtype": "Attach Image",
|
||||
"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": "Image",
|
||||
"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,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "section_break_10",
|
||||
"fieldtype": "Section Break",
|
||||
"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,
|
||||
"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,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "introduction",
|
||||
"fieldtype": "Small Text",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 1,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Introduction",
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "details",
|
||||
"fieldtype": "Text Editor",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 1,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Details",
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "section_break_13",
|
||||
"fieldtype": "Section Break",
|
||||
"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,
|
||||
"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,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "discuss_id",
|
||||
"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": "Discuss ID",
|
||||
"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,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "github_id",
|
||||
"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": "GitHub ID",
|
||||
"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,
|
||||
"translatable": 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,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"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,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
}
|
||||
],
|
||||
"has_web_view": 1,
|
||||
"hide_heading": 0,
|
||||
"hide_toolbar": 0,
|
||||
"idx": 0,
|
||||
"image_field": "image",
|
||||
"image_view": 0,
|
||||
"in_create": 0,
|
||||
"is_published_field": "show_in_website",
|
||||
"is_submittable": 0,
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2018-03-01 17:08:43.568397",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "Foundation Fellowship",
|
||||
"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,
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"quick_entry": 1,
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"route": "foundation-fellow",
|
||||
"show_name_in_global_search": 0,
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC",
|
||||
"track_changes": 1,
|
||||
"track_seen": 0
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2017, EOSSF and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.website.website_generator import WebsiteGenerator
|
||||
|
||||
class FoundationFellowship(WebsiteGenerator):
|
||||
website = frappe._dict(
|
||||
condition_field = "show_in_website"
|
||||
)
|
||||
|
||||
def validate(self):
|
||||
if not self.route:
|
||||
self.route = 'foundation-fellow/' + self.scrub(self.name)
|
||||
|
||||
def get_context(self, context):
|
||||
context.no_cache = True
|
||||
context.parents = [dict(label='View All Foundation Fellows',
|
||||
route='foundation-fellow', title='View All foundation fellows')]
|
||||
|
||||
|
||||
|
||||
def get_list_context(context):
|
||||
context.allow_guest = True
|
||||
context.no_cache = True
|
||||
context.no_breadcrumbs = True
|
||||
context.order_by = 'creation desc'
|
||||
context.introduction = '<p>Following are the Foundation Fellows</p>'
|
||||
@@ -0,0 +1,63 @@
|
||||
{% extends "templates/web.html" %}
|
||||
|
||||
{% from "foundation/templates/includes/macros.html" import media %}
|
||||
|
||||
{% block page_content %}
|
||||
<h1 class="media-heading">{{ title }}</h1>
|
||||
<section>
|
||||
<div class="media">
|
||||
<div class="media-left" style='min-width: 80px;'>
|
||||
<a href="#">
|
||||
<img class="media-object"
|
||||
src="{{ image }}"
|
||||
style="max-width: 80px; ">
|
||||
</a>
|
||||
</div>
|
||||
<div class="media-body">
|
||||
{{ introduction }}
|
||||
<table class='table table-bordered small'
|
||||
style='max-width: 400px; margin-bottom: 0px; margin-top: 20px'>
|
||||
<tr>
|
||||
<td style='width: 38.2%'>Country</td>
|
||||
<td>{{ country }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Address</td>
|
||||
<td>{{ (address or '').replace('\n', '<br>') }}</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<td>Phone</td>
|
||||
<td>{{ phone }}</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<td>Email</td>
|
||||
<td><a href="mailto:{{ email }}" target="_blank">
|
||||
{{ email }}</a></td>
|
||||
</tr>
|
||||
</tr>
|
||||
<td>Disscuss Id</td>
|
||||
<td>{{ discuss_id }}</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<td>Github Id</td>
|
||||
<td>{{ github_id }}</td>
|
||||
</tr>
|
||||
{% if website_url %}
|
||||
</tr>
|
||||
<td>Website</td>
|
||||
<td><a href="{{ website_url }}">{{ website_url }}</a></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section>
|
||||
{{ details }}
|
||||
</section>
|
||||
<section>
|
||||
<p><a class='btn-primary btn' href="mailto:{{ email }}">Contact {{ title }}</a></p>
|
||||
</section>
|
||||
|
||||
{% endblock %}
|
||||
@@ -0,0 +1,16 @@
|
||||
<div class="media max-width-medium clickable" style="cursor: pointer;" onclick="location.href='{{ doc.route }}'">
|
||||
<div class="media-left">
|
||||
<a href="{{ link or "#" }}">
|
||||
<img class="media-object"
|
||||
src="{% if image %}{% if not '/' in image %}/assets/foundation/img/{% endif %}{{ image }}{% else %}/assets/foundation/img/frappe-bird-grey.svg{% endif %}"
|
||||
style="{% if image and not '/' in image %}opacity: 0.4{% endif %}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="media-body">
|
||||
{% if title %}<h4 class="media-heading">{{ doc.title }}</h4>{% endif %}
|
||||
<p>
|
||||
<span class='label'>{{ frappe.format_date(doc.creation) }}</span>
|
||||
<span class='label'>{{ doc.country }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,21 @@
|
||||
<article>
|
||||
<p>A Foundation member has to propose name. Foundation Fellow Committee (Foundation Governance Council till the committee is formed) will decide on whether the person qualifies.</p>
|
||||
<p>A Fellowship is a honorary position and may come with certain benefits as decided by the Foundation Fellow Committee.</p>
|
||||
<p>It can be for contributions for which the person got paid, directly by the Foundation, or by the ERPNext ecosystem, stakeholders, service providers, users or user organizations.</p>
|
||||
<p>Fellowship can be revoked by the Fellowship Committee for any reason.</p>
|
||||
<h3>Minimum 3 months of contribution on ERPNext.</h3>
|
||||
<ul>
|
||||
<li><span>Localising ERPNext to a country's requirements</span></li>
|
||||
<li><span>Enhancing existing modules</span></li>
|
||||
<li><span>Creating new modules</span></li>
|
||||
<li><span>Extending ERPNext to new industries, verticals</span></li>
|
||||
<li><span>Growing the ERPNext userbase in a country, region.</span></li>
|
||||
</ul>
|
||||
<h3>Typical reasons (not a complete listing) for revoking Fellowship are:</h3>
|
||||
<ul>
|
||||
<li><span>Contributions were plagiarized from another ERPNext contributor</span></li>
|
||||
<li><span>Fellow indulges in criminal or antisocial behavior</span></li>
|
||||
<li><span>Fellow starts working against ERPNext interests and starts actively denouncing ERPNext in public and/or social forums.</span></li>
|
||||
</ul>
|
||||
<p>Following are the community driven Foundation Fellows:</p>
|
||||
</article>
|
||||
@@ -2,15 +2,15 @@
|
||||
// rename this file from _test_[name] to test_[name] to activate
|
||||
// and remove above this line
|
||||
|
||||
QUnit.test("test: Chapter", function (assert) {
|
||||
QUnit.test("test: Foundation Fellowship", function (assert) {
|
||||
let done = assert.async();
|
||||
|
||||
// number of asserts
|
||||
assert.expect(1);
|
||||
|
||||
frappe.run_serially('Chapter', [
|
||||
// insert a new Chapter
|
||||
() => frappe.tests.make([
|
||||
frappe.run_serially([
|
||||
// insert a new Foundation Fellowship
|
||||
() => frappe.tests.make('Foundation Fellowship', [
|
||||
// values to be set
|
||||
{key: 'value'}
|
||||
]),
|
||||
@@ -6,5 +6,5 @@ from __future__ import unicode_literals
|
||||
import frappe
|
||||
import unittest
|
||||
|
||||
class TestChapter(unittest.TestCase):
|
||||
class TestFoundationFellowship(unittest.TestCase):
|
||||
pass
|
||||
@@ -1,22 +0,0 @@
|
||||
// Copyright (c) 2016, EOSSF and contributors
|
||||
// For license information, please see license.txt
|
||||
|
||||
frappe.ui.form.on('Member', {
|
||||
refresh: function(frm) {
|
||||
frappe.call({
|
||||
method:"frappe.client.get_value",
|
||||
args:{
|
||||
'doctype':"Membership",
|
||||
'filters':{'member': frm.doc.name},
|
||||
'fieldname':[
|
||||
'to_date'
|
||||
]
|
||||
},
|
||||
callback: function (data) {
|
||||
frappe.model.set_value(frm.doctype,frm.docname, "expires_on", data.message.to_date);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
@@ -1,237 +0,0 @@
|
||||
{
|
||||
"allow_copy": 0,
|
||||
"allow_import": 0,
|
||||
"allow_rename": 0,
|
||||
"autoname": "field:email",
|
||||
"beta": 0,
|
||||
"creation": "2017-02-24 11:47:56.865726",
|
||||
"custom": 0,
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
"document_type": "",
|
||||
"editable_grid": 1,
|
||||
"engine": "InnoDB",
|
||||
"fields": [
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "member_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": "Member 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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "membership_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": "Membership Type",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Gold\nSilver\nIndividual",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "email",
|
||||
"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": "Email",
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "image",
|
||||
"fieldtype": "Attach Image",
|
||||
"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": "Image",
|
||||
"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_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "address",
|
||||
"fieldtype": "Small Text",
|
||||
"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": "Address",
|
||||
"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_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "expires_on",
|
||||
"fieldtype": "Date",
|
||||
"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": "Expires On",
|
||||
"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
|
||||
}
|
||||
],
|
||||
"hide_heading": 0,
|
||||
"hide_toolbar": 0,
|
||||
"idx": 0,
|
||||
"image_view": 0,
|
||||
"in_create": 0,
|
||||
"in_dialog": 0,
|
||||
"is_submittable": 0,
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2017-03-02 11:36:12.723569",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "Member",
|
||||
"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,
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"quick_entry": 1,
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"show_name_in_global_search": 0,
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC",
|
||||
"track_changes": 1,
|
||||
"track_seen": 0
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2015, EOSSF and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
|
||||
class Member(Document):
|
||||
pass
|
||||
@@ -1,12 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2015, EOSSF and Contributors
|
||||
# See license.txt
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import frappe
|
||||
import unittest
|
||||
|
||||
# test_records = frappe.get_test_records('Member')
|
||||
|
||||
class TestMember(unittest.TestCase):
|
||||
pass
|
||||
@@ -1,8 +0,0 @@
|
||||
// Copyright (c) 2016, EOSSF and contributors
|
||||
// For license information, please see license.txt
|
||||
|
||||
frappe.ui.form.on('Membership', {
|
||||
refresh: function(frm) {
|
||||
|
||||
}
|
||||
});
|
||||
@@ -1,269 +0,0 @@
|
||||
{
|
||||
"allow_copy": 0,
|
||||
"allow_guest_to_view": 0,
|
||||
"allow_import": 0,
|
||||
"allow_rename": 0,
|
||||
"autoname": "M-.YY.-.####",
|
||||
"beta": 0,
|
||||
"creation": "2017-02-24 11:56:55.208964",
|
||||
"custom": 0,
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
"document_type": "",
|
||||
"editable_grid": 1,
|
||||
"engine": "InnoDB",
|
||||
"fields": [
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "member",
|
||||
"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": "Member",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Member",
|
||||
"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_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "membership_type",
|
||||
"fieldtype": "Select",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Membership Type",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Gold\nSilver\nIndividual",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "from_date",
|
||||
"fieldtype": "Date",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "From",
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "to_date",
|
||||
"fieldtype": "Date",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "To",
|
||||
"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": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "paid",
|
||||
"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": "Paid",
|
||||
"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_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "currency",
|
||||
"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": "Currency",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "USD\nINR",
|
||||
"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_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "amount",
|
||||
"fieldtype": "Float",
|
||||
"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": "Amount",
|
||||
"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": 0,
|
||||
"hide_heading": 0,
|
||||
"hide_toolbar": 0,
|
||||
"idx": 0,
|
||||
"image_view": 0,
|
||||
"in_create": 0,
|
||||
"is_submittable": 0,
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2017-03-14 18:44:13.286524",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "Membership",
|
||||
"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,
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"quick_entry": 1,
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"show_name_in_global_search": 0,
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC",
|
||||
"track_changes": 1,
|
||||
"track_seen": 0
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2015, EOSSF and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
from frappe.utils import add_days, add_years, nowdate, getdate
|
||||
from frappe import _
|
||||
import foundation
|
||||
|
||||
class Membership(Document):
|
||||
def validate(self):
|
||||
member_name = frappe.get_value('Member', dict(email=frappe.session.user))
|
||||
|
||||
if not member_name:
|
||||
user = frappe.get_doc('User', frappe.session.user)
|
||||
member = frappe.get_doc(dict(
|
||||
doctype='Member',
|
||||
email=frappe.session.user,
|
||||
member_name=user.get_fullname()
|
||||
)).insert(ignore_permissions=True)
|
||||
member_name = member.name
|
||||
|
||||
if self.get("__islocal"):
|
||||
self.member = member_name
|
||||
|
||||
# get last membership (if active)
|
||||
last_membership = foundation.get_last_membership()
|
||||
|
||||
if last_membership:
|
||||
# if last membership does not expire in 30 days, then do not allow to renew
|
||||
if getdate(add_days(last_membership.to_date, -30)) > getdate(nowdate()):
|
||||
frappe.throw(_('You can only renew if your membership expires within 30 days'))
|
||||
|
||||
self.from_date = add_days(last_membership.to_date, 1)
|
||||
else:
|
||||
self.from_date = nowdate()
|
||||
|
||||
self.to_date = add_years(self.from_date, 1)
|
||||
|
||||
def on_payment_authorized(self, status_changed_to=None):
|
||||
if status_changed_to in ("Completed", "Authorized"):
|
||||
self.load_from_db()
|
||||
self.db_set('paid', 1)
|
||||
|
||||
self.link_member_with_service_provider()
|
||||
|
||||
def link_member_with_service_provider(self):
|
||||
service_provider = frappe.db.get_value("Service Provider", dict(owner=frappe.session.user))
|
||||
|
||||
if service_provider:
|
||||
frappe.db.set_value("Service Provider", service_provider, "member", frappe.session.user,
|
||||
update_modified=False)
|
||||
else:
|
||||
# create new service provider for the member
|
||||
doc = frappe.get_doc({
|
||||
"doctype": "Service Provider",
|
||||
"email": frappe.session.user,
|
||||
"title": frappe.db.get_value("Member", self.member, "member_name"),
|
||||
"member": self.member,
|
||||
"show_in_website": 1
|
||||
}).insert(ignore_mandatory=True, ignore_permissions = True)
|
||||
@@ -1,34 +0,0 @@
|
||||
<div class="web-list-item membership-list-item">
|
||||
<div class="row">
|
||||
<div class="col-sm-3 col-xs-6">
|
||||
#
|
||||
</div>
|
||||
<div class="col-sm-3 hidden-xs">
|
||||
Membership
|
||||
</div>
|
||||
<div class="col-sm-3 col-xs-6">
|
||||
Expires On
|
||||
</div>
|
||||
<div class="col-sm-3 hidden-xs">
|
||||
Amount
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="web-list-item membership-list-item">
|
||||
<div class="row">
|
||||
<div class="col-sm-3 col-xs-6">
|
||||
<a href="/{{ pathname }}?name={{ doc.name }}">
|
||||
{{ doc.name }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="col-sm-3 hidden-xs">
|
||||
{{ doc.membership_type }}
|
||||
</div>
|
||||
<div class="col-sm-3 col-xs-6">
|
||||
{{ frappe.utils.global_date_format(doc.to_date) }}
|
||||
</div>
|
||||
<div class="col-sm-3 hidden-xs">
|
||||
{{ doc.amount }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,12 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2015, EOSSF and Contributors
|
||||
# See license.txt
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import frappe
|
||||
import unittest
|
||||
|
||||
# test_records = frappe.get_test_records('Membership')
|
||||
|
||||
class TestMembership(unittest.TestCase):
|
||||
pass
|
||||
@@ -13,6 +13,7 @@
|
||||
"engine": "InnoDB",
|
||||
"fields": [
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -42,6 +43,7 @@
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -71,6 +73,7 @@
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -87,7 +90,7 @@
|
||||
"label": "Status",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Open\nCompleted\nExpired\nWithdrawn",
|
||||
"options": "Open\nCompleted\nDeveloper Hired\nExpired\nWithdrawn",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
@@ -101,6 +104,7 @@
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -130,6 +134,7 @@
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -160,6 +165,7 @@
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -190,6 +196,7 @@
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -220,6 +227,7 @@
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -250,6 +258,7 @@
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -290,7 +299,7 @@
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2017-03-22 15:30:54.620681",
|
||||
"modified": "2017-10-25 05:24:04.271224",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "Portal Job",
|
||||
|
||||
@@ -23,6 +23,10 @@
|
||||
<td>Date</td>
|
||||
<td>{{ frappe.format_date(creation) }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Status</td>
|
||||
<td>{{ status }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<h3>Details</h3>
|
||||
<p>{{ description }}</p>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<span class='label'>{{ frappe.format_date(doc.creation) }}</span>
|
||||
<span class='label'>{{ doc.country }}</span>
|
||||
<span class='label'>{{ doc.job_type }}</span>
|
||||
<span class='label'>{{ doc.status }}</span>
|
||||
</p>
|
||||
<p>{{ html2text(doc.description)[:200] }}{% if doc.description|len > 200 %}...{% endif %}</p>
|
||||
</a>
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"engine": "InnoDB",
|
||||
"fields": [
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -25,7 +26,7 @@
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 1,
|
||||
"in_list_view": 0,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Title",
|
||||
"length": 0,
|
||||
@@ -40,9 +41,11 @@
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -70,9 +73,11 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -84,7 +89,7 @@
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Country",
|
||||
"length": 0,
|
||||
@@ -100,9 +105,11 @@
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -129,9 +136,11 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -158,14 +167,16 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "website",
|
||||
"fieldname": "website_url",
|
||||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
@@ -187,9 +198,11 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -216,9 +229,11 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -244,9 +259,11 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -273,9 +290,11 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -301,9 +320,11 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -315,7 +336,7 @@
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 1,
|
||||
"in_list_view": 0,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Introduction",
|
||||
"length": 0,
|
||||
@@ -330,9 +351,11 @@
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -344,7 +367,7 @@
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 1,
|
||||
"in_list_view": 0,
|
||||
"in_list_view": 1,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Details",
|
||||
"length": 0,
|
||||
@@ -359,9 +382,11 @@
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -387,9 +412,11 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -416,9 +443,11 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -445,9 +474,11 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -474,9 +505,11 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_bulk_edit": 0,
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
@@ -503,6 +536,7 @@
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"translatable": 0,
|
||||
"unique": 0
|
||||
}
|
||||
],
|
||||
@@ -518,7 +552,7 @@
|
||||
"issingle": 0,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2017-03-06 16:04:35.370822",
|
||||
"modified": "2018-03-09 17:08:21.803622",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "Service Provider",
|
||||
|
||||
@@ -5,9 +5,10 @@
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.website.website_generator import WebsiteGenerator
|
||||
from frappe.utils import get_datetime
|
||||
|
||||
class ServiceProvider(WebsiteGenerator):
|
||||
_website = frappe._dict(
|
||||
website = frappe._dict(
|
||||
condition_field = "show_in_website",
|
||||
)
|
||||
def validate(self):
|
||||
@@ -22,3 +23,41 @@ class ServiceProvider(WebsiteGenerator):
|
||||
context.membership_type = frappe.get_value('Member', self.member, 'membership_type')
|
||||
if context.website and not context.website.startswith('http'):
|
||||
context.website = 'http://' + context.website
|
||||
if not context.image:
|
||||
if context.membership_type == "Gold":
|
||||
context.image = "/assets/foundation/img/gold.png"
|
||||
elif context.membership_type == "Silver":
|
||||
context.image = "/assets/foundation/img/silver.png"
|
||||
else:
|
||||
context.image = "/assets/foundation/img/default-membership-logo.png"
|
||||
|
||||
def send_alert_to_inactive_service_providers():
|
||||
for service_provider in frappe.get_all("Service Provider", fields=['email', 'title']):
|
||||
if get_last_login_diff(service_provider.email) == 80:
|
||||
send_reminder(service_provider)
|
||||
|
||||
def send_reminder(service_provider_details):
|
||||
message = frappe.render_template("foundation/templates/emails/inactivity_reminder.md", service_provider_details)
|
||||
frappe.sendmail(recipients=service_provider_details.email, subject="About account inactivity", message=message)
|
||||
|
||||
def unpublish_service_provider():
|
||||
for service_provider in frappe.get_all("Service Provider", fields=['email', 'name','title']):
|
||||
if get_last_login_diff(service_provider.email) == 90:
|
||||
frappe.db.set_value('Service Provider', service_provider.name, 'show_in_website', 0, update_modified=False)
|
||||
|
||||
def publish_service_provider():
|
||||
"""
|
||||
If Service provider is unpublished and login then automatically enabled name in service provider listing
|
||||
"""
|
||||
for service_provider in frappe.get_all("Service Provider", fields=['email','name', 'title', 'show_in_website']):
|
||||
if get_last_login_diff(service_provider.email) == 0 and service_provider.show_in_website == 0:
|
||||
frappe.db.set_value('Service Provider', service_provider.name, 'show_in_website', 1, update_modified=False)
|
||||
|
||||
def get_last_login_diff(user):
|
||||
"""
|
||||
Returns difference between todays date and last login date
|
||||
"""
|
||||
last_login = frappe.db.get_value("User", user, ["last_login"])
|
||||
for x in xrange(1,10):
|
||||
print((get_datetime() - get_datetime(last_login)).days, user)
|
||||
return (get_datetime() - get_datetime(last_login)).days
|
||||
|
||||
@@ -1,25 +1,22 @@
|
||||
{% extends "templates/web.html" %}
|
||||
|
||||
{% from "foundation/templates/includes/macros.html" import media %}
|
||||
|
||||
{% block page_content %}
|
||||
<h1 class="media-heading">{{ title }}</h1>
|
||||
{% if membership_type %}
|
||||
<p><span class=label>{{ membership_type }} Member<span></p>
|
||||
{% endif %}
|
||||
<section>
|
||||
<div class="media" style="margin: 45px 0px; ">
|
||||
<div class="media-left" style='min-width: 80px;'>
|
||||
<div class="media">
|
||||
<div class="media-left">
|
||||
<a href="#">
|
||||
<img class="media-object"
|
||||
src="{{ image }}"
|
||||
style="max-width: 80px; ">
|
||||
src="{{ image }}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="media-body">
|
||||
{{ introduction }}
|
||||
<table class='table table-bordered small'
|
||||
style='max-width: 400px; margin-bottom: 0px; margin-top: 20px'>
|
||||
<table class='table table-bordered small'>
|
||||
<tr>
|
||||
<td style='width: 38.2%'>Country</td>
|
||||
<td>{{ country }}</td>
|
||||
@@ -37,10 +34,12 @@
|
||||
<td><a href="mailto:{{ email }}" target="_blank">
|
||||
{{ email }}</a></td>
|
||||
</tr>
|
||||
{% if website_url %}
|
||||
</tr>
|
||||
<td>Website</td>
|
||||
<td><a href="{{ website }}" target="_blank">{{ website }}</a></td>
|
||||
<td><a href="{{ website_url }}" target="_blank">{{ website_url }}</a></td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
|
||||
</div>
|
||||
@@ -52,5 +51,4 @@
|
||||
<section>
|
||||
<p><a class='btn-primary btn' href="mailto:{{ email }}">Contact {{ title }}</a></p>
|
||||
</section>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"_liked_by": "[\"Administrator\"]",
|
||||
"accept_payment": 0,
|
||||
"allow_comments": 0,
|
||||
"allow_delete": 0,
|
||||
@@ -13,10 +14,11 @@
|
||||
"docstatus": 0,
|
||||
"doctype": "Web Form",
|
||||
"idx": 0,
|
||||
"introduction_text": "",
|
||||
"is_standard": 1,
|
||||
"login_required": 1,
|
||||
"max_attachment_size": 0,
|
||||
"modified": "2017-03-06 15:50:21.725600",
|
||||
"modified": "2017-10-25 05:59:11.262965",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "add-edit-app",
|
||||
@@ -89,6 +91,16 @@
|
||||
"max_value": 0,
|
||||
"read_only": 0,
|
||||
"reqd": 0
|
||||
},
|
||||
{
|
||||
"fieldname": "published",
|
||||
"fieldtype": "Check",
|
||||
"hidden": 0,
|
||||
"label": "Show on Website",
|
||||
"max_length": 0,
|
||||
"max_value": 0,
|
||||
"read_only": 0,
|
||||
"reqd": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -17,7 +17,7 @@
|
||||
"is_standard": 1,
|
||||
"login_required": 1,
|
||||
"max_attachment_size": 0,
|
||||
"modified": "2017-08-31 16:58:13.787406",
|
||||
"modified": "2017-10-25 05:36:04.935016",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "jobs",
|
||||
@@ -58,7 +58,7 @@
|
||||
"label": "Status",
|
||||
"max_length": 0,
|
||||
"max_value": 0,
|
||||
"options": "Open\nCompleted\nExpired\nWithdrawn",
|
||||
"options": "Open\nCompleted\nDeveloper Hired\nExpired\nWithdrawn",
|
||||
"read_only": 0,
|
||||
"reqd": 0
|
||||
},
|
||||
|
||||
@@ -15,10 +15,11 @@
|
||||
"docstatus": 0,
|
||||
"doctype": "Web Form",
|
||||
"idx": 0,
|
||||
"introduction_text": "",
|
||||
"is_standard": 1,
|
||||
"login_required": 1,
|
||||
"max_attachment_size": 0,
|
||||
"modified": "2017-03-14 16:31:47.735437",
|
||||
"modified": "2018-01-08 15:53:09.381486",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "memberships",
|
||||
@@ -35,12 +36,12 @@
|
||||
"web_form_fields": [
|
||||
{
|
||||
"fieldname": "membership_type",
|
||||
"fieldtype": "Select",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"label": "Membership Type",
|
||||
"max_length": 0,
|
||||
"max_value": 0,
|
||||
"options": "Gold\nSilver\nIndividual",
|
||||
"options": "Membership Type",
|
||||
"read_only": 0,
|
||||
"reqd": 1
|
||||
},
|
||||
|
||||
@@ -8,7 +8,7 @@ def get_context(context):
|
||||
pass
|
||||
|
||||
def get_list_context(context):
|
||||
context.row_template = 'erpnext_foundation/doctype/membership/templates/membership_list.html'
|
||||
context.row_template = 'non_profit/doctype/membership/templates/membership_list.html'
|
||||
context.get_list = get_site_list
|
||||
|
||||
def get_site_list(doctype, txt, filters, limit_start, limit_page_length=20, order_by=None):
|
||||
|
||||
@@ -15,10 +15,11 @@
|
||||
"docstatus": 0,
|
||||
"doctype": "Web Form",
|
||||
"idx": 0,
|
||||
"introduction_text": "",
|
||||
"is_standard": 1,
|
||||
"login_required": 1,
|
||||
"max_attachment_size": 0,
|
||||
"modified": "2017-03-14 18:38:07.785349",
|
||||
"modified": "2018-01-08 15:53:23.345945",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "memberships-usd",
|
||||
@@ -35,12 +36,12 @@
|
||||
"web_form_fields": [
|
||||
{
|
||||
"fieldname": "membership_type",
|
||||
"fieldtype": "Select",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"label": "Membership Type",
|
||||
"max_length": 0,
|
||||
"max_value": 0,
|
||||
"options": "Gold\nSilver\nIndividual",
|
||||
"options": "Membership Type",
|
||||
"read_only": 0,
|
||||
"reqd": 1
|
||||
},
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
"is_standard": 1,
|
||||
"login_required": 1,
|
||||
"max_attachment_size": 0,
|
||||
"modified": "2017-02-27 16:48:13.115907",
|
||||
"modified": "2018-01-10 12:04:04.245162",
|
||||
"modified_by": "Administrator",
|
||||
"module": "ERPNext Foundation",
|
||||
"name": "service-provider",
|
||||
@@ -121,6 +121,16 @@
|
||||
"max_value": 0,
|
||||
"read_only": 0,
|
||||
"reqd": 0
|
||||
},
|
||||
{
|
||||
"fieldname": "website",
|
||||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"label": "Website URL",
|
||||
"max_length": 0,
|
||||
"max_value": 0,
|
||||
"read_only": 0,
|
||||
"reqd": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -36,23 +36,22 @@ app_license = "MIT"
|
||||
# application home page (will override Website Settings)
|
||||
home_page = "index"
|
||||
|
||||
template_apps = ['foundation', 'frappe_theme', 'erpnext', 'frappe']
|
||||
template_apps = ['foundation', 'erpnext', 'frappe']
|
||||
website_context = {
|
||||
# "navbar_search": 1,
|
||||
"brand_html": "<img class='navbar-icon' src='/assets/foundation/img/erpnext-logo.jpg' />ERPNext.org",
|
||||
"copyright": "ERPNext Open Source Software Foundation",
|
||||
"footer_address": "<br>ERPNext is and will always be 100% Open Source",
|
||||
"brand_html": "<img class='navbar-icon' src='/assets/foundation/img/erpnext-logo.svg' alt='Oensource ERP Software'/>ERPNext.org",
|
||||
"top_bar_items": [
|
||||
{"label": "Docs", "url": "/docs", "right": 1},
|
||||
{"label": "Services", "url": "/service-providers", "right": 1},
|
||||
{"label": "Jobs", "url": "/erpnext-jobs", "right": 1},
|
||||
{"label": "Chapters", "url": "/chapters", "right": 1},
|
||||
{"label": "Bounties", "url": "/bounties", "right": 1},
|
||||
{"label": '<span class="indicator blue">Conference</span>', "url": "/conf/2017", "right": 1},
|
||||
{"label": "About", "url": "/about", "right": 1},
|
||||
{"label": "Foundation", "child_items":[
|
||||
{"label": "Chapter", "url": "/chapters","right": 1},
|
||||
{"label": "Foundation Fellow", "url": "/foundation-fellow","right": 1}
|
||||
], "right":1},
|
||||
{"label": "Services", "child_items":[
|
||||
{"label": "Service Providers", "url": "/service-providers","right": 1},
|
||||
{"label": "Freelancer Jobs", "url": "/erpnext-jobs", "right": 1},
|
||||
], "right":1},
|
||||
],
|
||||
"hide_login": 1,
|
||||
"favicon": "/assets/frappe_theme/img/favicon.ico"
|
||||
"hide_login": 0,
|
||||
"favicon": "/assets/foundation/img/favicon.ico"
|
||||
}
|
||||
# website user home page (by Role)
|
||||
# role_home_page = {
|
||||
@@ -70,6 +69,7 @@ website_context = {
|
||||
|
||||
portal_menu_items = [
|
||||
{'label': 'My Profile', 'route': '/service-provider-settings'},
|
||||
{'label': 'Module Leader', 'route': '/module-leader-settings'},
|
||||
{'label': 'Membership', 'route': '/members/details'},
|
||||
{'label': 'Conference Talks', 'route': '/conference-talk-proposal'},
|
||||
{'label': 'Jobs', 'route': '/my-jobs'},
|
||||
@@ -116,13 +116,15 @@ portal_menu_items = [
|
||||
# Scheduled Tasks
|
||||
# ---------------
|
||||
|
||||
# scheduler_events = {
|
||||
scheduler_events = {
|
||||
# "all": [
|
||||
# "foundation.tasks.all"
|
||||
# ],
|
||||
# "daily": [
|
||||
# "foundation.tasks.daily"
|
||||
# ],
|
||||
"daily": [
|
||||
"foundation.erpnext_foundation.doctype.service_provider.service_provider.send_alert_to_inactive_service_providers",
|
||||
"foundation.erpnext_foundation.doctype.service_provider.service_provider.unpublish_service_provider",
|
||||
"foundation.erpnext_foundation.doctype.service_provider.service_provider.publish_service_provider",
|
||||
],
|
||||
# "hourly": [
|
||||
# "foundation.tasks.hourly"
|
||||
# ],
|
||||
@@ -132,7 +134,7 @@ portal_menu_items = [
|
||||
# "monthly": [
|
||||
# "foundation.tasks.monthly"
|
||||
# ]
|
||||
# }
|
||||
}
|
||||
|
||||
# Testing
|
||||
# -------
|
||||
@@ -145,4 +147,3 @@ portal_menu_items = [
|
||||
# override_whitelisted_methods = {
|
||||
# "frappe.desk.doctype.event.event.get_events": "foundation.event.get_events"
|
||||
# }
|
||||
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
foundation.patches.v0_0.update_erpnext_job_route
|
||||
foundation.patches.v0_0.change_website_to_website_url
|
||||
foundation.patches.v0_0.service_providers_website_to_website_url
|
||||
|
||||
6
foundation/patches/v0_0/change_website_to_website_url.py
Normal file
@@ -0,0 +1,6 @@
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.db.sql('''
|
||||
ALTER TABLE `tabFoundation Fellowship` CHANGE `website` `website_url` varchar(140);
|
||||
''')
|
||||
@@ -0,0 +1,8 @@
|
||||
import frappe
|
||||
|
||||
def execute():
|
||||
frappe.reload_doc("erpnext_foundation", "doctype", "service_provider")
|
||||
frappe.db.sql('''
|
||||
update `tabService Provider`
|
||||
set website_url = website
|
||||
''')
|
||||
5
foundation/public/build.json
Normal file
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"foundation/css/erpnext-org-theme.css": [
|
||||
"public/less/erpnext-org-theme.less"
|
||||
]
|
||||
}
|
||||
1725
foundation/public/css/bootstrap-for-webform.css
vendored
Normal file
1089
foundation/public/css/erpnext-org-theme.css
Normal file
367
foundation/public/css/reset.css
Normal file
@@ -0,0 +1,367 @@
|
||||
/*!
|
||||
* this reset is a copy of bootstrap's reboot.css which is inturn a fork of normalise*
|
||||
*
|
||||
*
|
||||
* Bootstrap Reboot v4.0.0-beta.3 (https://getbootstrap.com)
|
||||
* Copyright 2011-2017 The Bootstrap Authors
|
||||
* Copyright 2011-2017 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/
|
||||
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
-ms-overflow-style: scrollbar;
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
line-height: 1.62;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
@media screen and (min-width: 767px) {
|
||||
html {
|
||||
font-size: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
@-ms-viewport {
|
||||
width: device-width;
|
||||
}
|
||||
|
||||
article,
|
||||
aside,
|
||||
dialog,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
main,
|
||||
nav,
|
||||
section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-weight: 400;
|
||||
text-align: left;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica", "Arial", "Noto", "Oxygen-Sans", "Noto Sans", "Ubuntu", "Cantarell", sans-serif, "Apple Color Emoji", "Noto Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
||||
color: #36414c;
|
||||
font-feature-settings: "kern" 1;
|
||||
font-kerning: normal;
|
||||
text-rendering: optimizeLegibility;
|
||||
}
|
||||
|
||||
[ tabindex = "-1" ]:focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
hr {
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
margin-bottom: 1rem;
|
||||
margin-top: 0;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
abbr[ title ],
|
||||
abbr[ data-original-title ] {
|
||||
text-decoration: underline;
|
||||
-webkit-text-decoration: underline dotted;
|
||||
cursor: help;
|
||||
border-bottom: 0;
|
||||
}
|
||||
|
||||
address {
|
||||
margin-bottom: 1rem;
|
||||
font-style: normal;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul,
|
||||
dl {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
ol ol,
|
||||
ul ul,
|
||||
ol ul,
|
||||
ul ol {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
dd {
|
||||
margin-bottom: 0.5rem;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
blockquote {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
position: relative;
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
a {
|
||||
text-decoration: none;
|
||||
background-color: transparent;
|
||||
-webkit-text-decoration-skip: objects;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a:not([ href ]):not([ tabindex ]) {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([ href ]):not([ tabindex ]):focus,
|
||||
a:not([ href ]):not([ tabindex ]):hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:not([ href ]):not([ tabindex ]):focus {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
pre,
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
pre {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1rem;
|
||||
overflow: auto;
|
||||
-ms-overflow-style: scrollbar;
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0 0 1rem;
|
||||
}
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
border-style: none;
|
||||
max-width: 100%;
|
||||
border-radius: 0.25em;
|
||||
}
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
a,
|
||||
area,
|
||||
button,
|
||||
[ role = "button" ],
|
||||
input:not([ type = "range" ]),
|
||||
label,
|
||||
select,
|
||||
summary,
|
||||
textarea {
|
||||
-ms-touch-action: manipulation;
|
||||
touch-action: manipulation;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
caption {
|
||||
padding-top: 0.75rem;
|
||||
padding-bottom: 0.75rem;
|
||||
color: #6c757d;
|
||||
text-align: left;
|
||||
caption-side: bottom;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align: inherit;
|
||||
}
|
||||
|
||||
label {
|
||||
display: inline-block;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
button {
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
button:focus {
|
||||
outline: none;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
}
|
||||
|
||||
input,
|
||||
button,
|
||||
select,
|
||||
optgroup,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-family: inherit;
|
||||
font-size: inherit;
|
||||
line-height: inherit;
|
||||
}
|
||||
|
||||
button,
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
button,
|
||||
html [type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
button::-moz-focus-inner,
|
||||
[type="button"]::-moz-focus-inner,
|
||||
[type="reset"]::-moz-focus-inner,
|
||||
[type="submit"]::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
input[type="radio"],
|
||||
input[type="checkbox"] {
|
||||
box-sizing: border-box;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
input[type="date"],
|
||||
input[type="time"],
|
||||
input[type="datetime-local"],
|
||||
input[type="month"] {
|
||||
-webkit-appearance: listbox;
|
||||
}
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
resize: vertical;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
min-width: 0;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
legend {
|
||||
display: block;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
padding: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
font-size: 1.5rem;
|
||||
line-height: inherit;
|
||||
color: inherit;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
progress {
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
[type="search"] {
|
||||
outline-offset: -2px;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
[type="search"]::-webkit-search-cancel-button,
|
||||
[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
font: inherit;
|
||||
-webkit-appearance: button;
|
||||
}
|
||||
|
||||
output {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
[hidden] {
|
||||
display: none !important;
|
||||
}
|
||||
BIN
foundation/public/img/agriculture.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 15 KiB |
BIN
foundation/public/img/bench-logo.png
Normal file
|
After Width: | Height: | Size: 4.9 KiB |
BIN
foundation/public/img/cloud.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
foundation/public/img/community-2016.jpg
Normal file
|
After Width: | Height: | Size: 118 KiB |
BIN
foundation/public/img/community-colored.jpg
Normal file
|
After Width: | Height: | Size: 128 KiB |
|
Before Width: | Height: | Size: 116 KiB |
|
Before Width: | Height: | Size: 1.9 MiB |
|
Before Width: | Height: | Size: 67 KiB |
@@ -1,125 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="199.90601mm"
|
||||
height="25.419046mm"
|
||||
viewBox="0 0 708.32837 90.067487"
|
||||
id="svg4241"
|
||||
version="1.1"
|
||||
inkscape:version="0.91 r13725"
|
||||
sodipodi:docname="mnt_logo.svg">
|
||||
<defs
|
||||
id="defs4243" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.7"
|
||||
inkscape:cx="230.22122"
|
||||
inkscape:cy="-255.58374"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="-0.8"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1317"
|
||||
inkscape:window-height="744"
|
||||
inkscape:window-x="49"
|
||||
inkscape:window-y="24"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata4246">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-17.264423,-11.603008)">
|
||||
<g
|
||||
transform="matrix(2.1678617,0,0,2.1678617,-199.24183,-1037.6959)"
|
||||
id="g4221-3"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90">
|
||||
<g
|
||||
id="g4813"
|
||||
transform="matrix(0.95383105,0,0,0.95383105,12.153569,23.275819)">
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-style:normal;font-weight:normal;font-size:31.10012436px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#00cb6f;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
x="190.9724"
|
||||
y="516.14307"
|
||||
id="text4237-3-6"
|
||||
sodipodi:linespacing="125%"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan4239-6-7"
|
||||
x="190.9724"
|
||||
y="516.14307"
|
||||
style="font-weight:bold;fill:#00cb6f;fill-opacity:1">MN Technique</tspan></text>
|
||||
<path
|
||||
style="fill:#00cb6f;fill-opacity:1;fill-rule:evenodd;stroke:#00cb6f;stroke-width:1.55500627;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 113.60466,482.79083 -8.60807,0 11.38486,43.04035 8.60807,0 z"
|
||||
id="rect3336-3-6-7-3-2-5"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#00cb6f;stroke-width:1.55500627;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 104.35793,482.45761 8.60807,0 -11.38487,43.04034 -8.608072,0 z"
|
||||
id="rect3336-3-5-5-6-3"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:#00cb6f;fill-opacity:1;fill-rule:evenodd;stroke:#00cb6f;stroke-width:1.55500627;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 136.92975,482.79083 -8.60807,0 11.38487,43.04035 8.60807,0 z"
|
||||
id="rect3336-3-6-3-6-1-5"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#00cb6f;stroke-width:1.55500627;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 127.68302,482.45761 8.60807,0 -11.38487,43.04034 -8.60807,0 z"
|
||||
id="rect3336-3-56-2-8-6"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:#00cb6f;fill-opacity:1;fill-rule:evenodd;stroke:#00cb6f;stroke-width:1.55500627;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 160.25484,482.79083 -8.60806,0 11.38486,43.04035 8.60807,0 z"
|
||||
id="rect3336-3-6-2-9-7-2"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#00cb6f;stroke-width:1.55500627;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 151.00811,482.45761 8.60807,0 -11.38487,43.04034 -8.60806,0 z"
|
||||
id="rect3336-3-9-1-9-9"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
<path
|
||||
style="fill:#ffffff;fill-rule:evenodd;stroke:#00cb6f;stroke-width:1.55500627;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 174.45816,482.56868 8.60807,0 -11.38487,43.04035 -8.60807,0 z"
|
||||
id="rect3336-3-5-1-2-2-1"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccc" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 26 KiB |
BIN
foundation/public/img/conf/sponsors/cloude8.png
Normal file
|
After Width: | Height: | Size: 9.8 KiB |
BIN
foundation/public/img/conf/sponsors/digithinkit.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
foundation/public/img/conf/sponsors/indictrans.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
foundation/public/img/conf/sponsors/mnt-logo.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
foundation/public/img/conf/sponsors/mnt.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
foundation/public/img/conf/sponsors/shs-logo.png
Normal file
|
After Width: | Height: | Size: 6.9 KiB |
BIN
foundation/public/img/distribution.png
Normal file
|
After Width: | Height: | Size: 9.1 KiB |
BIN
foundation/public/img/education.png
Normal file
|
After Width: | Height: | Size: 7.1 KiB |
@@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="512px" height="512px" viewBox="0 0 512 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>erp-icon</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="erp-icon" fill-rule="nonzero">
|
||||
<path d="M512,448 C512,483.2 483.2,512 448,512 L64,512 C28.8,512 0,483.2 0,448 L0,64 C0,28.8 28.8,0 64,0 L448,0 C483.2,0 512,28.8 512,64 L512,448 Z" id="Shape" fill="#458A49"></path>
|
||||
<path d="M150.483,371.684 L150.483,141.15 C150.483,125.983 160.017,116.017 174.316,116.017 L336.816,116.017 C350.682,116.017 357.616,122.95 357.616,134.65 L357.616,137.25 C357.616,149.383 350.682,155.883 336.816,155.883 L195.116,155.883 L195.116,234.317 L304.75,234.317 C319.05,234.317 325.55,240.383 325.55,252.084 L325.55,253.384 C325.55,265.517 318.616,272.017 304.75,272.017 L195.117,272.017 L195.117,356.951 L339.417,356.951 C353.284,356.951 359.784,363.017 359.784,374.718 L359.784,376.885 C359.784,389.451 353.284,396.385 339.417,396.385 L174.317,396.385 C160.017,396.384 150.483,386.851 150.483,371.684 Z" id="Shape" fill="#FFFFFF"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
@@ -1,36 +1,94 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
width="503.223px" height="86.323px" viewBox="0 0 503.223 86.323" enable-background="new 0 0 503.223 86.323"
|
||||
xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#213B4D" d="M0,74.103V11.18C0,4.42,3.77,0.52,10.01,0.52h46.932c5.98,0,8.84,2.99,8.84,8.061v0.65
|
||||
c0,5.33-2.86,8.06-8.84,8.06H19.24v16.641h27.562c6.24,0,8.84,2.73,8.84,7.41v0.521c0,5.07-2.73,7.8-8.84,7.8H19.24v18.331h38.352
|
||||
c5.98,0,8.84,2.6,8.84,7.54v0.78c0,5.2-2.86,8.32-8.84,8.32H10.01C3.77,84.633,0,80.862,0,74.103z"/>
|
||||
<path fill="#213B4D" d="M119.081,77.353L101.14,54.731h-7.28v21.711c0,5.46-2.86,8.71-8.32,8.71h-2.73c-5.2,0-8.06-3.77-8.06-10.53
|
||||
V11.18c0-6.76,3.77-10.66,10.01-10.66h24.831c21.841,0,33.151,9.101,33.151,26.261c0,13.521-7.67,22.621-21.841,24.961
|
||||
l21.841,26.392c0.78,0.91-2.86,7.02-11.05,7.02C126.23,85.152,123.11,82.812,119.081,77.353z M93.6,40.691h14.69
|
||||
c10.271,0,15.21-4.811,15.21-12.61c0-8.19-5.2-12.61-15.601-12.61H93.6V40.691z"/>
|
||||
<path fill="#213B4D" d="M151.707,76.442V11.18c0-6.76,3.771-10.66,10.011-10.66h21.971c22.231,0,34.581,9.881,34.581,28.471
|
||||
c0,18.721-11.83,28.342-34.581,28.342h-12.74v19.11c0,5.46-2.86,8.71-8.32,8.71h-2.86
|
||||
C154.697,85.152,151.707,82.163,151.707,76.442z M170.688,42.901h12.741c10.53,0,16.12-4.94,16.12-13.78
|
||||
c0-8.841-5.59-13.65-16.25-13.65h-12.61V42.901z"/>
|
||||
<path fill="#213B4D" d="M243.876,76.442V9.49c0-6.11,3.12-9.49,8.32-9.49h2.34c5.07,0,6.76,1.689,9.75,5.46l36.401,50.052V8.71
|
||||
c0-5.72,2.73-8.71,8.189-8.71h1.82c5.33,0,8.061,2.99,8.061,8.71v66.952c0,6.24-3.119,9.49-8.189,9.49h-1.561
|
||||
c-5.07,0-6.5-1.3-9.23-4.68l-37.832-52.002v47.972c0,5.721-2.73,8.71-8.32,8.71h-1.82
|
||||
C246.606,85.152,243.876,82.163,243.876,76.442z"/>
|
||||
<path fill="#213B4D" d="M326.553,53.432c0-19.371,13.91-33.671,33.152-33.671c18.721,0,31.59,13.13,31.59,31.721v1.3
|
||||
c-0.129,3.25-1.039,5.07-4.42,5.07h-43.811c1.299,9.49,8.58,15.081,18.46,15.081c9.62,0,14.95-4.29,17.94-9.36
|
||||
c0.131-0.26,8.84,0.91,8.84,8.19c0,6.89-9.75,14.561-27.43,14.561C340.204,86.323,326.553,73.452,326.553,53.432z M343.065,47.191
|
||||
h31.201c-0.391-8.84-5.98-14.69-14.821-14.69C350.864,32.501,344.364,38.611,343.065,47.191z"/>
|
||||
<path fill="#213B4D" d="M453.825,79.303c0.65,0.91-4.03,6.11-10.531,6.11c-4.16,0-7.539-2.21-9.88-6.631l-10.79-16.9l-10.66,16.9
|
||||
c-2.34,4.29-5.851,6.631-10.141,6.631c-6.11,0-10.92-5.33-10.271-6.11l19.241-26.261l-19.111-26.521
|
||||
c-0.52-0.91,4.16-6.11,10.141-6.11c4.29,0,7.801,1.95,10.27,6.631l10.791,16.9l10.791-16.9c2.6-4.811,6.369-6.631,10.01-6.631
|
||||
c6.24,0,11.051,5.2,10.4,6.11l-19.371,26.521L453.825,79.303z"/>
|
||||
<path fill="#213B4D" d="M455.122,29.121v-1.17c0-4.421,2.471-6.761,7.67-6.761h3.121V13.13c0-5.979,3.119-8.84,8.32-8.84h1.56
|
||||
c4.94,0,8.19,2.08,8.19,8.84v8.061h11.051c5.199,0,7.41,2.21,7.41,6.5v1.04c0,4.42-2.34,6.761-7.541,6.761h-11.311v27.041
|
||||
c0,6.24,2.08,9.36,7.021,9.36c3.77,0,6.24-1.82,8.189-4.29c0.26-0.391,4.42,2.08,4.42,7.149c0,6.371-6.369,11.571-16.77,11.571
|
||||
c-14.041,0-20.541-7.411-20.541-21.711V35.491h-3.121C457.592,35.491,455.122,33.281,455.122,29.121z"/>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
id="svg5271"
|
||||
version="1.1"
|
||||
viewBox="0 0 87.312531 87.312515"
|
||||
height="330.00006"
|
||||
width="330.00012">
|
||||
<defs
|
||||
id="defs5265" />
|
||||
<metadata
|
||||
id="metadata5268">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
<cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" />
|
||||
</cc:Work>
|
||||
<cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/">
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Reproduction" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Distribution" />
|
||||
<cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#Notice" />
|
||||
<cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#Attribution" />
|
||||
<cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
|
||||
<cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#ShareAlike" />
|
||||
</cc:License>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
transform="translate(-50.081839,-105.93303)"
|
||||
id="layer1">
|
||||
<g
|
||||
transform="translate(-1596.0827,-463.42076)"
|
||||
id="g1446-4-5">
|
||||
<g
|
||||
style="stroke-width:1.0000006"
|
||||
transform="matrix(0.9999989,0,0,0.99999981,279.19167,438.7826)"
|
||||
id="g1422-7-2">
|
||||
<g
|
||||
style="stroke-width:1.0000006"
|
||||
id="g1418-4-6"
|
||||
transform="translate(-25.731002,-0.1322636)">
|
||||
<g
|
||||
style="stroke-width:1.0000006"
|
||||
transform="translate(-95.250002)"
|
||||
id="g1416-4-9">
|
||||
<path
|
||||
style="opacity:1;vector-effect:none;fill:#7574ff;fill-opacity:1;stroke:none;stroke-width:3.96875262;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
d="m 1501.1846,130.70348 h 60.8542 c 7.329,0 13.2292,5.9002 13.2292,13.22916 v 60.85419 c 0,7.32896 -5.9002,13.22917 -13.2292,13.22917 h -60.8542 c -7.3289,0 -13.2292,-5.90021 -13.2292,-13.22917 v -60.85419 c 0,-7.32896 5.9003,-13.22916 13.2292,-13.22916 z"
|
||||
id="path1414-3-4" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
id="g1420-0-4"
|
||||
transform="matrix(1.0131472,0,0,1.0131472,-144.01349,-2.2905938)"
|
||||
style="stroke-width:0.98702425" />
|
||||
</g>
|
||||
<path
|
||||
id="circle1424-7-6"
|
||||
transform="matrix(0.26458333,0,0,0.26458333,1646.1645,569.35379)"
|
||||
d="M 164.92578 228.00977 A 412.60453 412.60453 0 0 0 0 262.94922 L 0 280 C 0 307.70001 22.30022 330 50 330 L 280 330 C 307.69978 330 330 307.70001 330 280 L 330 262.70508 A 412.60453 412.60453 0 0 0 164.92578 228.00977 z "
|
||||
clip-path="none"
|
||||
style="opacity:1;vector-effect:none;fill:#6564f9;fill-opacity:1;stroke:none;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal" />
|
||||
<g
|
||||
style="fill:#4a15c6;fill-opacity:1"
|
||||
transform="translate(2.8144523,0.84784259)"
|
||||
id="g1434-8-0" />
|
||||
<g
|
||||
id="g1444-6-7"
|
||||
transform="translate(3.8727857,-0.32524952)">
|
||||
<path
|
||||
style="opacity:1;vector-effect:none;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:15;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
|
||||
d="m 3738.9473,951.78516 c -1.0388,0 -2.0511,0.10552 -3.0293,0.30468 -0.9783,0.19916 -1.9225,0.49258 -2.8203,0.8711 -0.449,0.18926 -0.8854,0.40047 -1.3106,0.63086 -0.8503,0.46076 -1.6504,1.00091 -2.3906,1.61132 -3.3312,2.74687 -5.4492,6.90766 -5.4492,11.58204 v 0.91406 133.17378 0.9122 c 0,8.31 6.69,15 15,15 h 104.9082 c 8.31,0 15,-6.69 15,-15 v -0.9122 c 0,-8.31 -6.69,-15 -15,-15 h -88.9942 v -37.3613 h 66.1699 c 8.31,0 15,-6.69 15,-15 v -0.9121 c 0,-8.31 -6.69,-15 -15,-15 h -66.1699 v -34.90038 h 88.9942 c 8.31,0 15,-6.69 15,-15 v -0.91406 c 0,-8.31 -6.69,-15 -15,-15 z"
|
||||
transform="matrix(0.26458334,0,0,0.26458334,682.80626,339.68051)"
|
||||
id="rect1436-8-4" />
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 4.6 KiB |
BIN
foundation/public/img/favicon.ico
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
@@ -1,16 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="222px" height="168px" viewBox="0 0 222 168" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 42 (36781) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Group</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs></defs>
|
||||
<g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Group" fill-rule="nonzero">
|
||||
<path d="M39.838,4.703 L85.685,50.55" id="Shape" fill="#FF783D"></path>
|
||||
<path d="M116.07,167.331 C114.972,167.331 113.892,166.904 113.083,166.099 L37.699,91.15 C36.899,90.355 36.45,89.273 36.45,88.145 L36.45,4.703 C36.45,2.364 38.346,0.468 40.683,0.468 C43.023,0.468 44.919,2.364 44.919,4.703 L44.919,86.385 L111.833,152.913 L111.833,102.073 C111.833,99.735 113.729,97.839 116.067,97.839 C118.407,97.839 120.303,99.735 120.303,102.073 L120.303,163.095 C120.303,164.806 119.274,166.349 117.694,167.006 C117.17,167.225 116.617,167.331 116.07,167.331 Z" id="Shape" fill="#000000"></path>
|
||||
<path d="M40.684,46.206 L5.109,46.206 C3.423,46.206 1.897,45.208 1.225,43.662 C0.552,42.115 0.862,40.317 2.01,39.085 L27.506,11.723 L36.738,1.816 C38.333,0.105 41.013,0.009 42.724,1.604 C44.435,3.199 44.529,5.878 42.935,7.59 L14.844,37.736 L40.684,37.736 C43.024,37.736 44.92,39.632 44.92,41.972 C44.92,44.311 43.023,46.206 40.684,46.206 Z" id="Shape" fill="#000000"></path>
|
||||
<path d="M85.685,54.784 C84.588,54.784 83.492,54.362 82.663,53.516 L37.663,7.669 C36.024,5.999 36.05,3.317 37.719,1.68 C39.389,0.041 42.07,0.067 43.708,1.736 L88.708,47.584 C90.347,49.253 90.321,51.934 88.652,53.572 C87.826,54.381 86.756,54.784 85.685,54.784 Z" id="Shape" fill="#000000"></path>
|
||||
<path d="M82.015,133.274 C80.802,133.274 79.599,132.756 78.761,131.752 C77.262,129.956 77.504,127.285 79.299,125.787 L205.176,20.796 L127.873,20.796 L43.229,91.397 C41.433,92.895 38.762,92.655 37.263,90.857 C35.765,89.062 36.007,86.39 37.803,84.892 L123.626,13.309 C124.388,12.675 125.347,12.327 126.338,12.327 L216.863,12.327 C218.645,12.327 220.238,13.444 220.844,15.12 C221.451,16.796 220.944,18.673 219.574,19.814 L84.726,132.292 C83.934,132.953 82.971,133.274 82.015,133.274 Z" id="Shape" fill="#000000"></path>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
id="svg16"
|
||||
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
|
||||
xml:space="preserve"
|
||||
version="1.1"
|
||||
viewBox="0 0 233.10893 184.52928"
|
||||
height="184.52928"
|
||||
width="233.10893"><metadata
|
||||
id="metadata22"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title><cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" /></cc:Work><cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/"><cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#Notice" /><cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#Attribution" /><cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /><cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#ShareAlike" /></cc:License></rdf:RDF></metadata><defs
|
||||
id="defs20" /><path
|
||||
style="fill:#29344a;fill-opacity:1;stroke:none;stroke-width:0.99999988px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="M 32.996565,1.9352345e-4 C 32.920595,-0.00190648 32.848004,0.01370352 32.773387,0.01707352 c -0.17861,-0.01013 -0.360732,-0.0068 -0.544372,0.02026 -0.613757,0.08981 -1.242875,0.401518 -1.814563,1.00325498 L 30.016615,1.5709865 0.53497063,40.895016 c -1.327318,1.789981 -0.08137,4.651792 2.59622497,4.349742 L 35.168988,40.67518 42.012044,88.660303 c 0.131003,0.97745 0.647283,1.71644 1.331268,2.17401 0.05571,0.52506 0.274499,1.05866 0.718863,1.53193 l 49.558917,50.417347 c 0.32211,0.31941 0.69614,0.52989 1.08699,0.65779 l 39.526398,40.21036 c 2.00898,1.88759 5.24535,0.54029 5.24485,-2.23509 l 0.65951,-80.71558 92.10383,-90.694028 c 1.85795,-1.7675625 0.48302,-4.6583425 -1.81807,-4.5835565 l -99.81928,-0.807829 c -1.05771,-0.0068 -1.66614,0.53897 -1.90703,0.76944 L 61.387877,71.666093 84.005562,41.49695 c 1.20682,-1.653272 0.51345,-3.515475 -0.6281,-4.375909 L 34.753728,0.60263852 c -0.587859,-0.401348 -1.188043,-0.585901 -1.756994,-0.60193899655 z"
|
||||
id="path846" /></svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.5 KiB |
@@ -1,13 +1,43 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 260 260" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41421;">
|
||||
<g>
|
||||
<g>
|
||||
<path d="M65.838,51.703L111.685,97.55" style="fill:rgb(255,120,61);fill-rule:nonzero;"/>
|
||||
<path d="M142.07,214.331C140.972,214.331 139.892,213.904 139.083,213.099L63.699,138.15C62.899,137.355 62.45,136.273 62.45,135.145L62.45,51.703C62.45,49.364 64.346,47.468 66.683,47.468C69.023,47.468 70.919,49.364 70.919,51.703L70.919,133.385L137.833,199.913L137.833,149.073C137.833,146.735 139.729,144.839 142.067,144.839C144.407,144.839 146.303,146.735 146.303,149.073L146.303,210.095C146.303,211.806 145.274,213.349 143.694,214.006C143.17,214.225 142.617,214.331 142.07,214.331Z" style="fill:rgb(141,153,166);fill-rule:nonzero;"/>
|
||||
<path d="M66.684,93.206L31.109,93.206C29.423,93.206 27.897,92.208 27.225,90.662C26.552,89.115 26.862,87.317 28.01,86.085L53.506,58.723L62.738,48.816C64.333,47.105 67.013,47.009 68.724,48.604C70.435,50.199 70.529,52.878 68.935,54.59L40.844,84.736L66.684,84.736C69.024,84.736 70.92,86.632 70.92,88.972C70.92,91.311 69.023,93.206 66.684,93.206Z" style="fill:rgb(141,153,166);fill-rule:nonzero;"/>
|
||||
<path d="M111.685,101.784C110.588,101.784 109.492,101.362 108.663,100.516L63.663,54.669C62.024,52.999 62.05,50.317 63.719,48.68C65.389,47.041 68.07,47.067 69.708,48.736L114.708,94.584C116.347,96.253 116.321,98.934 114.652,100.572C113.826,101.381 112.756,101.784 111.685,101.784Z" style="fill:rgb(141,153,166);fill-rule:nonzero;"/>
|
||||
<path d="M108.015,180.274C106.802,180.274 105.599,179.756 104.761,178.752C103.262,176.956 103.504,174.285 105.299,172.787L231.176,67.796L153.873,67.796L69.229,138.397C67.433,139.895 64.762,139.655 63.263,137.857C61.765,136.062 62.007,133.39 63.803,131.892L149.626,60.309C150.388,59.675 151.347,59.327 152.338,59.327L242.863,59.327C244.645,59.327 246.238,60.444 246.844,62.12C247.451,63.796 246.944,65.673 245.574,66.814L110.726,179.292C109.934,179.953 108.971,180.274 108.015,180.274Z" style="fill:rgb(141,153,166);fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
id="svg16"
|
||||
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
|
||||
xml:space="preserve"
|
||||
version="1.1"
|
||||
viewBox="0 0 260 260"
|
||||
height="1"
|
||||
width="1"><metadata
|
||||
id="metadata22"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title><cc:license
|
||||
rdf:resource="http://creativecommons.org/licenses/by-sa/4.0/" /></cc:Work><cc:License
|
||||
rdf:about="http://creativecommons.org/licenses/by-sa/4.0/"><cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#Notice" /><cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#Attribution" /><cc:permits
|
||||
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /><cc:requires
|
||||
rdf:resource="http://creativecommons.org/ns#ShareAlike" /></cc:License></rdf:RDF></metadata><defs
|
||||
id="defs20" /><g
|
||||
id="g14"><g
|
||||
id="g12"><path
|
||||
id="path2"
|
||||
style="fill:#ff783d;fill-rule:nonzero"
|
||||
d="M 65.838,51.703 111.685,97.55" /><path
|
||||
id="path4"
|
||||
style="fill:#8d99a6;fill-rule:nonzero"
|
||||
d="m 142.07,214.331 c -1.098,0 -2.178,-0.427 -2.987,-1.232 L 63.699,138.15 c -0.8,-0.795 -1.249,-1.877 -1.249,-3.005 V 51.703 c 0,-2.339 1.896,-4.235 4.233,-4.235 2.34,0 4.236,1.896 4.236,4.235 v 81.682 l 66.914,66.528 v -50.84 c 0,-2.338 1.896,-4.234 4.234,-4.234 2.34,0 4.236,1.896 4.236,4.234 v 61.022 c 0,1.711 -1.029,3.254 -2.609,3.911 -0.524,0.219 -1.077,0.325 -1.624,0.325 z" /><path
|
||||
id="path6"
|
||||
style="fill:#8d99a6;fill-rule:nonzero"
|
||||
d="M 66.684,93.206 H 31.109 c -1.686,0 -3.212,-0.998 -3.884,-2.544 -0.673,-1.547 -0.363,-3.345 0.785,-4.577 l 25.496,-27.362 9.232,-9.907 c 1.595,-1.711 4.275,-1.807 5.986,-0.212 1.711,1.595 1.805,4.274 0.211,5.986 L 40.844,84.736 h 25.84 c 2.34,0 4.236,1.896 4.236,4.236 0,2.339 -1.897,4.234 -4.236,4.234 z" /><path
|
||||
id="path8"
|
||||
style="fill:#8d99a6;fill-rule:nonzero"
|
||||
d="m 111.685,101.784 c -1.097,0 -2.193,-0.422 -3.022,-1.268 l -45,-45.847 c -1.639,-1.67 -1.613,-4.352 0.056,-5.989 1.67,-1.639 4.351,-1.613 5.989,0.056 l 45,45.848 c 1.639,1.669 1.613,4.35 -0.056,5.988 -0.826,0.809 -1.896,1.212 -2.967,1.212 z" /><path
|
||||
id="path10"
|
||||
style="fill:#8d99a6;fill-rule:nonzero"
|
||||
d="m 108.015,180.274 c -1.213,0 -2.416,-0.518 -3.254,-1.522 -1.499,-1.796 -1.257,-4.467 0.538,-5.965 L 231.176,67.796 h -77.303 l -84.644,70.601 c -1.796,1.498 -4.467,1.258 -5.966,-0.54 -1.498,-1.795 -1.256,-4.467 0.54,-5.965 l 85.823,-71.583 c 0.762,-0.634 1.721,-0.982 2.712,-0.982 h 90.525 c 1.782,0 3.375,1.117 3.981,2.793 0.607,1.676 0.1,3.553 -1.27,4.694 L 110.726,179.292 c -0.792,0.661 -1.755,0.982 -2.711,0.982 z" /></g></g></svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 3.2 KiB |
BIN
foundation/public/img/healthcare.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
foundation/public/img/hero-illustration-erpnext.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
foundation/public/img/manufacturing.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
foundation/public/img/non-profits.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
foundation/public/img/retail.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
foundation/public/img/service-providers.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
foundation/public/img/services.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
foundation/public/img/vm-dev-vagrant.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
foundation/public/img/vm-development.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
foundation/public/img/vm-production.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
191
foundation/public/less/base.less
Normal file
@@ -0,0 +1,191 @@
|
||||
/*utilities*/
|
||||
.align-items-center {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.hide,
|
||||
.hidden {
|
||||
display: none;
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.top-zero {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.bottom-zero {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.top-spacer {
|
||||
margin-top: 2.5rem;
|
||||
}
|
||||
|
||||
.bottom-spacer {
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
|
||||
.top-spacer-4 {
|
||||
margin-top: 4rem;
|
||||
}
|
||||
|
||||
.bottom-spacer-4 {
|
||||
margin-bottom: 4rem;
|
||||
}
|
||||
|
||||
.gray-bg {
|
||||
background-color: @light-bg;
|
||||
}
|
||||
|
||||
.dark-bg {
|
||||
background-color: @text-dark;
|
||||
}
|
||||
|
||||
.left-aligned,
|
||||
.text-left {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.right-aligned {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
color: @text-muted;
|
||||
}
|
||||
|
||||
.text-light {
|
||||
color: @text-light;
|
||||
}
|
||||
|
||||
.text-white {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.text-normal {
|
||||
font-size: 1rem;
|
||||
}
|
||||
|
||||
.text-medium {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
.text-small {
|
||||
font-size: 0.5rem;
|
||||
}
|
||||
|
||||
.centered {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.list-unstyled {
|
||||
padding: 0;
|
||||
|
||||
li {
|
||||
list-style: none;
|
||||
}
|
||||
}
|
||||
|
||||
.list-circle {
|
||||
list-style: circle;
|
||||
}
|
||||
|
||||
.bullet {
|
||||
&::before {
|
||||
content: "\2022";
|
||||
display: inline-block;
|
||||
width: 1em;
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.half-width {
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
.border {
|
||||
border: @border;
|
||||
}
|
||||
|
||||
.border-top {
|
||||
border-top: @border;
|
||||
}
|
||||
|
||||
.saturate {
|
||||
filter: grayscale(100%);
|
||||
|
||||
&:hover {
|
||||
filter: grayscale(0%);
|
||||
}
|
||||
}
|
||||
|
||||
/* colors */
|
||||
|
||||
.green-bullet {
|
||||
&::before {
|
||||
color: @indicator-green;
|
||||
}
|
||||
}
|
||||
|
||||
/* components */
|
||||
|
||||
.grid-of-four,
|
||||
.grid-of-three {
|
||||
grid-gap: 2.5rem;
|
||||
display: grid;
|
||||
}
|
||||
|
||||
.grid-of-four {
|
||||
grid-template-columns: repeat(1, 1fr);
|
||||
|
||||
@media screen and (min-width: @screen-palm) {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
@media screen and (min-width: @screen-xs) {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
|
||||
@media screen and (min-width: @screen-sm) {
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
.grid-of-three {
|
||||
grid-template-columns: repeat(1, 1fr);
|
||||
|
||||
@media screen and (min-width: @screen-palm) {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
|
||||
@media screen and (min-width: @screen-xs) {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
.columns {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-direction: column;
|
||||
|
||||
@media screen and (min-width: @screen-xs) {
|
||||
flex-direction: row;
|
||||
}
|
||||
}
|
||||
|
||||
.column {
|
||||
margin-bottom: 1rem;
|
||||
|
||||
@media screen and (min-width: @screen-xs) {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
1018
foundation/public/less/erpnext-org-theme.less
Normal file
88
foundation/public/less/indicator.less
Normal file
@@ -0,0 +1,88 @@
|
||||
@import "../../../../frappe/frappe/public/less/variables.less";
|
||||
|
||||
.indicator,
|
||||
.indicator-right {
|
||||
background: none;
|
||||
font-size: 12px;
|
||||
vertical-align: middle;
|
||||
font-weight: bold;
|
||||
color: #6c7680;
|
||||
}
|
||||
|
||||
.indicator::before,
|
||||
.indicator-right::after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
height: 8px;
|
||||
width: 8px;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.indicator::before {
|
||||
margin: 0 4px 0 0;
|
||||
}
|
||||
|
||||
.indicator-right::after {
|
||||
margin: 0 0 0 4px;
|
||||
}
|
||||
|
||||
.indicator.grey::before,
|
||||
.indicator-right.grey::after {
|
||||
background: @btn-bg;
|
||||
}
|
||||
|
||||
.indicator.blue::before,
|
||||
.indicator-right.blue::after {
|
||||
background: @indicator-blue;
|
||||
}
|
||||
|
||||
.indicator.red::before,
|
||||
.indicator-right.red::after {
|
||||
background: @indicator-red;
|
||||
}
|
||||
|
||||
.indicator.green::before,
|
||||
.indicator-right.green::after {
|
||||
background: @indicator-green;
|
||||
}
|
||||
|
||||
.indicator.orange::before,
|
||||
.indicator-right.orange::after {
|
||||
background: @indicator-orange;
|
||||
}
|
||||
|
||||
.indicator.purple::before,
|
||||
.indicator-right.purple::after {
|
||||
background: @indicator-purple;
|
||||
}
|
||||
|
||||
.indicator.darkgrey::before,
|
||||
.indicator-right.darkgrey::after {
|
||||
background: @indicator-darkgrey;
|
||||
}
|
||||
|
||||
.indicator.black::before,
|
||||
.indicator-right.black::after {
|
||||
background: @text-color;
|
||||
}
|
||||
|
||||
.indicator.yellow::before,
|
||||
.indicator-right.yellow::after {
|
||||
background: @indicator-yellow;
|
||||
}
|
||||
|
||||
.indicator.light-blue::before,
|
||||
.indicator-right.light-blue::after {
|
||||
background: @indicator-light-blue;
|
||||
}
|
||||
|
||||
.indicator.lightblue::before,
|
||||
.indicator-right.lightblue::after {
|
||||
background: @indicator-light-blue;
|
||||
}
|
||||
|
||||
.modal-header .indicator {
|
||||
float: left;
|
||||
margin-top: 7.5px;
|
||||
margin-right: 3px;
|
||||
}
|
||||
12
foundation/public/less/variables.less
Normal file
@@ -0,0 +1,12 @@
|
||||
@import "../../../../frappe/frappe/public/less/variables.less";
|
||||
|
||||
@brand-primary: #7575ff;
|
||||
@screen-sm-min: 768px;
|
||||
@screen-xs-max: (@screen-sm-min - 1);
|
||||
@button-primary-hover: darken(desaturate(@brand-primary, 50%), 15%);
|
||||
@button-secondary-hover: lighten(@light-bg, 15%);
|
||||
@primary-link-color: lighten(@brand-primary, 5%);
|
||||
@border: 1px solid @border-color;
|
||||
@transition: 0.3s ease-out;
|
||||
@screen-palm: 500px;
|
||||
@dark-border-color: darken(@border-color, 60%);
|
||||
69
foundation/templates/base.html
Normal file
@@ -0,0 +1,69 @@
|
||||
<!DOCTYPE html>
|
||||
<!-- Built on Frappe. https://frappe.io/ -->
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>{% block title %} {{ title | striptags }} {% endblock %}</title>
|
||||
<meta name="generator" content="frappe">
|
||||
{% block favicon %}
|
||||
<link rel="shortcut icon"
|
||||
href="{{ (favicon or "/assets/frappe/images/favicon.png") | abs_url }}"
|
||||
type="image/x-icon">
|
||||
<link rel="icon"
|
||||
href="{{ (favicon or "/assets/frappe/images/favicon.png") | abs_url }}"
|
||||
type="image/x-icon">
|
||||
{% endblock %}
|
||||
{%- block head -%}
|
||||
{% block meta_block %}{% endblock %}
|
||||
<link href="/assets/foundation/css/erpnext-org-theme.css" rel="stylesheet">
|
||||
{% if path != '' %}
|
||||
<link type="text/css" rel="stylesheet" href="/assets/frappe/css/hljs.css">
|
||||
<link type="text/css" rel="stylesheet" href="/assets/frappe/css/font-awesome.css">
|
||||
<link type="text/css" rel="stylesheet" href="/assets/frappe/css/octicons/octicons.css">
|
||||
{% endif %}
|
||||
{% if path == 'contact' %}
|
||||
<link type="text/css" rel="stylesheet" href="/assets/foundation/css/bootstrap-for-webform.css">
|
||||
{% endif %}
|
||||
{%- endblock -%}
|
||||
{%- block head_include %}{{ head_include or "" }}{% endblock -%}
|
||||
{%- block style %}{%- endblock -%}
|
||||
<script>
|
||||
window.frappe = {};
|
||||
frappe.ready_events = [];
|
||||
frappe.ready = function(fn) {
|
||||
frappe.ready_events.push(fn);
|
||||
}
|
||||
window.dev_server = {{ dev_server }};
|
||||
</script>
|
||||
</head>
|
||||
<body data-path="{{ path }}">
|
||||
<div class="wrapper">
|
||||
{%- block navbar -%}{% include "templates/includes/navbar/navbar.html" %}{%- endblock -%}
|
||||
{% block content %}
|
||||
{{ content }}
|
||||
{% endblock %}
|
||||
{%- block footer -%}{% include "templates/includes/footer/footer.html" %}{%- endblock -%}
|
||||
</div>
|
||||
{% block base_scripts %}
|
||||
<!-- js should be loaded in body! -->
|
||||
<script type="text/javascript"
|
||||
src="/assets/frappe/js/lib/jquery/jquery.min.js"></script>
|
||||
<script type="text/javascript"
|
||||
src="/assets/js/frappe-web.min.js"></script>
|
||||
{% endblock %}
|
||||
{%- if js_globals is defined %}
|
||||
<script>
|
||||
{%- for key, value in js_globals.iteritems() %}
|
||||
window.{{ key }} = "{{ value[0] }}";
|
||||
{%- endfor -%}
|
||||
</script>
|
||||
{% endif -%}
|
||||
{%- for link in web_include_js %}
|
||||
<script type="text/javascript" src="{{ link|abs_url }}"></script>
|
||||
{%- endfor -%}
|
||||
{%- block script %}{%- endblock %}
|
||||
<!-- csrf_token -->
|
||||
{%- block body_include %}{{ body_include or "" }}{% endblock -%}
|
||||
</body>
|
||||
</html>
|
||||
8
foundation/templates/emails/inactivity_reminder.md
Normal file
@@ -0,0 +1,8 @@
|
||||
Hi {{ title }},
|
||||
|
||||
This is a Service Provider listing deactivation alert,
|
||||
You have not login since last 80 days if you are not login in next 10 days
|
||||
erpnext.org will be removed your name from a service provider listing.
|
||||
|
||||
Thanks,
|
||||
ERPNext Foundation
|
||||
@@ -1,152 +0,0 @@
|
||||
@import url('https://fonts.googleapis.com/css?family=Rubik');
|
||||
body {
|
||||
font-family: 'Rubik', sans-serif;
|
||||
font-size: 15px;
|
||||
color: #161c23;
|
||||
text-rendering: optimizeLegibility !important;
|
||||
line-height: 1.5em;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
|
||||
section {
|
||||
padding: 10px 0px;
|
||||
}
|
||||
|
||||
section:last-child {
|
||||
padding-bottom: 60px;
|
||||
}
|
||||
|
||||
section p, section li, section .media-body {
|
||||
font-size: 15px;
|
||||
line-height: 1.6em;
|
||||
}
|
||||
|
||||
|
||||
h1 {
|
||||
font-size: 32px;
|
||||
}
|
||||
|
||||
.page_content {
|
||||
min-height: 400px;
|
||||
}
|
||||
|
||||
.conf-hero {
|
||||
padding: 90px 0px;
|
||||
}
|
||||
|
||||
.label {
|
||||
font-weight: normal;
|
||||
background-color: #d1d8dd;
|
||||
font-size: 13px;
|
||||
padding: 3px 7px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.web-footer {
|
||||
padding-top: 0px;
|
||||
}
|
||||
|
||||
.footer-bottom-line .text-muted {
|
||||
font-size: 15px;
|
||||
color: #161c23 !important;
|
||||
}
|
||||
|
||||
.row-full{
|
||||
width: 100vw;
|
||||
position: relative;
|
||||
margin-left: -50vw;
|
||||
margin-top: 0px;
|
||||
left: 50%;
|
||||
}
|
||||
|
||||
.with-border {
|
||||
border: 1px solid #d1d8dd;
|
||||
border-radius: 3px;
|
||||
padding: 15px;
|
||||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
.with-border h3 {
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #5E64FF;
|
||||
}
|
||||
|
||||
.clickable a {
|
||||
color: #161c23;
|
||||
}
|
||||
|
||||
.with-border.clickable:hover {
|
||||
border-color: #36414C;
|
||||
background-color: #fafbfc;
|
||||
|
||||
}
|
||||
|
||||
.with-border a, .with-border a:hover {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.web-footer {
|
||||
background-color: #fafbfc;
|
||||
border-top: 4px solid #d1d8dd;
|
||||
padding-bottom: 0px;
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
@media (max-width: 767px) {
|
||||
.web-footer {
|
||||
padding-left: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.footer-group-label, .navbar-brand {
|
||||
color: #161c23 !important;
|
||||
}
|
||||
|
||||
.web-footer .col-sm-6:first-child {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
.web-footer .col-sm-6:last-child {
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
/*#website-post-login {
|
||||
display: none !important;
|
||||
}
|
||||
*/
|
||||
.silver-member {
|
||||
padding: 0px 15px;
|
||||
min-height: 205px;
|
||||
}
|
||||
|
||||
.page-breadcrumbs .breadcrumb {
|
||||
margin-bottom: 10px;
|
||||
font-size: 15px;
|
||||
/*color: #8D99A6;*/
|
||||
}
|
||||
|
||||
.full-name {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.sponsor {
|
||||
height: 200px;
|
||||
margin-top: 30px;
|
||||
text-align: center;
|
||||
vertical-align: center;
|
||||
border: 1px solid #d1d8dd;
|
||||
border-radius: 3px;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.sponsor .lead {
|
||||
margin-top: 60px;
|
||||
}
|
||||
|
||||
.sponsor img {
|
||||
max-width: 150px;
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
<ul class="list-unstyled footer-list">
|
||||
<li>
|
||||
<a href="/members">Memberships</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://erpnext.com">ERPNext.com</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://frappe.io">Frappé</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://frappe.io/blog">Blog</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://discuss.erpnext.com">Forum</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://github.com/frappe">GitHub</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/about">About</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="/contact">Contact</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="social">
|
||||
<p>Find us on
|
||||
<a class="underline" href="https://twitter.com/erpnext"
|
||||
target="_blank">Twitter</a>,
|
||||
<a class="underline" href="https://www.facebook.com/ERPNext/"
|
||||
target="_blank">Facebook</a>,
|
||||
<a class="underline" href="https://medium.com/frappé-thoughts/"
|
||||
target="_blank">Medium</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="copyright">
|
||||
<p>
|
||||
©<span id="year"></span> ERPNext Open Source Software Foundation.
|
||||
Content licensed under
|
||||
<a class="underline" href="https://creativecommons.org/licenses/by-sa/3.0/" target="_blank">
|
||||
CC-BY-SA 3.0</a>. Read the <a href="/terms" class="underline">terms of use</a>.
|
||||
</p>
|
||||
</div>
|
||||
147
foundation/templates/includes/footer/footer.html
Normal file
@@ -0,0 +1,147 @@
|
||||
<footer class="dark-bg">
|
||||
<div class="footer">
|
||||
<div class="container">
|
||||
<div class="columns text-left clearfix">
|
||||
<div class="column">
|
||||
<h3 class="footer-title text-white">Industries</h3>
|
||||
<ul class="list-unstyled footer-list">
|
||||
<li>
|
||||
<a class="secondary-link" href="/docs/user/manual/en/manufacturing">Manufacturing</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/docs/user/manual/en/stock">Distribution</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/docs/user/manual/en/projects">Services</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/docs/user/manual/en/accounts/point-of-sale-pos-invoice">Retail</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/docs/user/manual/en/education">Education</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/docs/user/manual/en/healthcare">Healthcare</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/docs/user/manual/en/agriculture">Agriculture</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/docs/user/manual/en/non_profit">Non Profit</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="column">
|
||||
<h3 class="footer-title text-white">Foundation</h3>
|
||||
<ul class="list-unstyled footer-list">
|
||||
<li>
|
||||
<a class="secondary-link" href="/about">About</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/blog">Blog</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/members">Memberships</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/foundation-fellow">Fellow</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/bounties">Bounties</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/conf">Conferences</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/contact">Contact</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/login">Member Login</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="column">
|
||||
<h3 class="footer-title text-white">Community</h3>
|
||||
<ul class="list-unstyled footer-list">
|
||||
<li>
|
||||
<a class="secondary-link" href="/chapters">Chapters</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="https://discuss.erpnext.com" target="_blank" >Forum</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/service-providers">Service Providers</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/erpnext-jobs">ERPNext Jobs</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/apps">Apps</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="https://gitter.im/frappe/erpnext" target="_blank" >Chat (Gitter)</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="https://github.com/frappe/erpnext" target="_blank" >GitHub</a>
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a class="secondary-link" href="https://erpnext.com" target="_blank" >ERPNext.com</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="column">
|
||||
<h3 class="footer-title text-white">Documentation</h3>
|
||||
<ul class="list-unstyled footer-list">
|
||||
<li>
|
||||
<a class="secondary-link" href="/docs/user/manual">Manual</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="https://www.youtube.com/c/erpnext" target="_blank" >Video Tutorials</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="/docs/current">ERPNext Model & API</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!--<h3 class="footer-title text-white top-spacer">Localisation</h3>
|
||||
<ul class="list-unstyled footer-list">
|
||||
<li>
|
||||
<a class="secondary-link" href="https://erpnext.com/uae-ksa-vat" target="_blank">UAE/KSA VAT</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="secondary-link" href="https://erpnext.com/india-gst" target="_blank">GST For India</a>
|
||||
</li>
|
||||
</ul>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-end dark-bg text-muted">
|
||||
<div class="container">
|
||||
<div class="align-iten-center columns">
|
||||
<div class="column">
|
||||
<p><img class="footer-icon" src="/assets/foundation/img/erpnext-logo.svg" alt="ERPnext Icon">
|
||||
© <span id="year"></span> ERPNext Open Source Software Foundation.</p>
|
||||
</div>
|
||||
<div class="column">
|
||||
<p>Find us on
|
||||
<a class="secondary-link" href="https://twitter.com/erpnext" target="_blank">Twitter</a>,
|
||||
<a class="secondary-link" href="https://www.facebook.com/ERPNext/" target="_blank">Facebook</a> &
|
||||
<a class="secondary-link" href="https://medium.com/frappé-thoughts/" target="_blank">Medium</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="column">
|
||||
<p>Content licensed under <a class="secondary-link" href="https://creativecommons.org/licenses/by-sa/3.0/" target="_blank"> CC-BY-SA 3.0</a> | <a href="/terms" class="secondary-link">Terms of use</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
frappe.ready(function(){
|
||||
var d = new Date();
|
||||
var currentYear = d.getFullYear();
|
||||
$("#year").text(currentYear);
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
@@ -1,12 +1,12 @@
|
||||
{% macro media(title, content, image, link) %}
|
||||
<div class="media with-border {% if link %}clickable{% endif %}"
|
||||
<div class="media centered {% if link %}clickable{% endif %}"
|
||||
{% if link %}style="cursor: pointer;"{% endif %}
|
||||
{% if link %}onclick="location.href='{{ link }}'"{% endif %}>
|
||||
<div class="media-left">
|
||||
<a href="{{ link or "#" }}">
|
||||
<img class="media-object"
|
||||
src="{% if image %}{% if not '/' in image %}/assets/foundation/img/{% endif %}{{ image }}{% else %}/assets/foundation/img/frappe-bird-grey.svg{% endif %}"
|
||||
style="width: 64px; height: 64px; max-width: 64px; {% if image and not '/' in image %}opacity: 0.4{% endif %}">
|
||||
style="{% if image and not '/' in image %}opacity: 0.4{% endif %}">
|
||||
</a>
|
||||
</div>
|
||||
<div class="media-body">
|
||||
|
||||
24
foundation/templates/includes/navbar/navbar.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<nav class="navbar navbar-default navbar-main" role="navigation">
|
||||
<div class="container">
|
||||
<div class="navbar-header">
|
||||
<div class="left">
|
||||
<a class="navbar-brand" href="{{ url_prefix }}{{ home_page or "/"}}">
|
||||
<span>{{ brand_html or (frappe.get_hooks("brand_html") or ["Home"])[0] }}</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="right">
|
||||
<ul class="menu list-unstyled">
|
||||
<li class="menu-items">
|
||||
<a href="/service-providers" class="menu-links">Services</a>
|
||||
</li>
|
||||
<li class="menu-items">
|
||||
<a href="/blog" class="menu-links">Blog</a>
|
||||
</li>
|
||||
<li class="menu-items">
|
||||
<a href="/about" class="menu-links">About</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -1,52 +1,42 @@
|
||||
<section>
|
||||
<div>
|
||||
<div class='row'>
|
||||
<div class="col-sm-4">
|
||||
<div class='sponsor' style='padding-top: 20px'>
|
||||
<p class='lead'>Your Company</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<div class='sponsor' >
|
||||
<section class="sponsor">
|
||||
<div class="grid-of-three">
|
||||
<div class="box text-center top-spacer" >
|
||||
<a href="https://frappe.io/" class="no-decoration" target="_blank">
|
||||
<img src="/assets/foundation/img/frappe-bird-thin.png" alt="Frappé"
|
||||
style="margin-top: 20px;"/>
|
||||
<img src="/assets/foundation/img/frappe-bird-black.svg" alt="Frappe"/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-4">
|
||||
<div class='sponsor' >
|
||||
<div class="box text-center top-spacer" >
|
||||
<a href="https://mntechnique.com/" class="no-decoration" target="_blank">
|
||||
<img src="/assets/foundation/img/conf/mnt-logo.png" alt="Frappé"
|
||||
style="margin-top: 20px;"/>
|
||||
<img src="/assets/foundation/img/conf/sponsors/mnt-logo.png" alt="MNT"/>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class='row'>
|
||||
<div class="col-sm-4">
|
||||
<div class='sponsor' >
|
||||
<a href="https://fogliasana.com/" class="no-decoration" target="_blank">
|
||||
<img src="/assets/foundation/img/conf/shs-logo.png" alt="Frappé"
|
||||
style="margin-top: 20px;"/>
|
||||
<div class="box text-center top-spacer" >
|
||||
<a href="http://fogliasana.com/" class="no-decoration" target="_blank">
|
||||
<img src="/assets/foundation/img/conf/sponsors/shs-logo.png" alt="SHS"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="box text-center top-spacer" >
|
||||
<a href="https://www.cloude8.com/" class="no-decoration" target="_blank">
|
||||
<img src="/assets/foundation/img/conf/sponsors/cloude8.png" alt="Cloude8"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="box text-center top-spacer" >
|
||||
<a href="https://digithinkit.com/" class="no-decoration" target="_blank">
|
||||
<img src="/assets/foundation/img/conf/sponsors/digithinkit.png" alt="DigiThinkIT"/>
|
||||
</a>
|
||||
</div>
|
||||
<div class="box text-center top-spacer" >
|
||||
<a href="http://www.indictranstech.com/" class="no-decoration" target="_blank">
|
||||
<img src="/assets/foundation/img/conf/sponsors/indictrans.png">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<div style="margin-top: 40px;">
|
||||
<p>Become a patron for the conference and get associated with a global community<br>
|
||||
of tens of thousands of users and developers. Sponsors also get 5 complimentary passes for the full conference!</p>
|
||||
<a href="mailto:foundation@erpnext.org" class="btn btn-primary">Become A Sponsor</a>
|
||||
<a href="mailto:foundation@erpnext.org" style="color:white" class="btn btn-primary disabled">Become A Sponsor</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</section>
|
||||