added conference page

This commit is contained in:
Rushabh Mehta
2017-07-07 10:41:52 +05:30
parent 52bbb12075
commit e9f8854f5e
53 changed files with 1326 additions and 54 deletions

View File

@@ -0,0 +1,8 @@
// Copyright (c) 2017, EOSSF and contributors
// For license information, please see license.txt
frappe.ui.form.on('Conference Participant', {
refresh: function(frm) {
}
});

View File

@@ -0,0 +1,243 @@
{
"allow_copy": 0,
"allow_guest_to_view": 0,
"allow_import": 0,
"allow_rename": 0,
"beta": 0,
"creation": "2017-07-06 16:20:28.662095",
"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": "participant_name",
"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": "Participant 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_bulk_edit": 0,
"allow_on_submit": 0,
"bold": 0,
"collapsible": 0,
"columns": 0,
"fieldname": "full_conference_tickets",
"fieldtype": "Int",
"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": "Full Conference Tickets",
"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": "user_conference_tickets",
"fieldtype": "Int",
"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": "User Conference Tickets",
"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": "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_bulk_edit": 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": 1,
"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": 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": "amount",
"fieldtype": "Currency",
"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": "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": 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-07-06 16:20:50.952884",
"modified_by": "Administrator",
"module": "ERPNext Foundation",
"name": "Conference Participant",
"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
}

View File

@@ -0,0 +1,10 @@
# -*- 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 ConferenceParticipant(Document):
pass

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2017, EOSSF and Contributors
# See license.txt
from __future__ import unicode_literals
import frappe
import unittest
class TestConferenceParticipant(unittest.TestCase):
pass

View File

@@ -0,0 +1,8 @@
// Copyright (c) 2017, EOSSF and contributors
// For license information, please see license.txt
frappe.ui.form.on('Conference Talk Proposal', {
refresh: function(frm) {
}
});

View File

@@ -0,0 +1,278 @@
{
"allow_copy": 0,
"allow_guest_to_view": 1,
"allow_import": 0,
"allow_rename": 0,
"autoname": "field:talk_title",
"beta": 0,
"creation": "2017-07-06 14:56:52.586022",
"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,
"default": "Pending Review",
"fieldname": "status",
"fieldtype": "Select",
"hidden": 0,
"ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
"label": "Status",
"length": 0,
"no_copy": 0,
"options": "Pending Review\nApproved\nRejected",
"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": "talk_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": "Talk 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": "speaker",
"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": "Speaker",
"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": "speaker_bio",
"fieldtype": "Text",
"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": "Speaker Bio",
"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": "talk_summary",
"fieldtype": "Text",
"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": "Talk Summary",
"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,
"default": "1",
"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": 0,
"in_standard_filter": 0,
"label": "Route",
"length": 0,
"no_copy": 0,
"permlevel": 0,
"precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
"reqd": 0,
"search_index": 0,
"set_only_once": 0,
"unique": 0
}
],
"has_web_view": 1,
"hide_heading": 0,
"hide_toolbar": 0,
"idx": 0,
"image_view": 0,
"in_create": 0,
"is_published_field": "published",
"is_submittable": 0,
"issingle": 0,
"istable": 0,
"max_attachments": 0,
"modified": "2017-07-06 15:18:25.612161",
"modified_by": "Administrator",
"module": "ERPNext Foundation",
"name": "Conference Talk Proposal",
"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": "talk-proposals",
"show_name_in_global_search": 0,
"sort_field": "modified",
"sort_order": "DESC",
"track_changes": 1,
"track_seen": 0
}

View File

@@ -0,0 +1,19 @@
# -*- 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 ConferenceTalkProposal(WebsiteGenerator):
def get_context(self, context):
context.show_sidebar = 1
context.website_sidebar = 'Conference 2017 Sidebar'
def get_list_context(context):
context.show_sidebar = 1
context.website_sidebar = 'Conference 2017 Sidebar'
context.no_breadcrumbs = 1

View File

@@ -0,0 +1,16 @@
{% extends "templates/web.html" %}
{% block page_content %}
<h1>{{ talk_title }}</h1>
<p><span class='label'>{{ status or 'Pending Review' }}</span></p>
<section>
<h3>Speaker {{ speaker }}</h3>
<p>{{ speaker_bio }}</p>
</section>
<section>
<h3>Talk Summary</h3>
<p>{{ talk_summary }}</p>
</section>
{% endblock %}
<!-- this is a sample default web page template -->

View File

@@ -0,0 +1,8 @@
<div>
<p>
<a href={{ route }}>{{ doc.talk_title }}</a>
<span class='label'>{{ status or 'Pending Review' }}</span>
<br><span class='text-muted small'>By {{ speaker }}</span>
</p>
</div>
<!-- this is a sample default list template -->

View File

@@ -0,0 +1,10 @@
# -*- coding: utf-8 -*-
# Copyright (c) 2017, EOSSF and Contributors
# See license.txt
from __future__ import unicode_literals
import frappe
import unittest
class TestConferenceTalkProposal(unittest.TestCase):
pass

View File

@@ -24,4 +24,4 @@ def get_list_context(context):
context.title = 'ERPNext Jobs'
context.no_breadcrumbs = True
context.order_by = 'creation desc'
context.introduction = '<div>Jobs for ERPNext Service Providers</div><br><a class="green-btn" href="/my-jobs?new=1">Post A Job</a>'
context.introduction = '<div>Jobs for ERPNext Service Providers</div><br><a class="btn btn-primary" href="/my-jobs?new=1">Post A Job</a>'

View File

@@ -50,7 +50,7 @@
{{ details }}
</section>
<section>
<p><a class='green-btn button' href="mailto:{{ email }}">Contact {{ title }}</a></p>
<p><a class='btn-primary button' href="mailto:{{ email }}">Contact {{ title }}</a></p>
</section>
{% endblock %}

View File

@@ -0,0 +1,17 @@
frappe.ready(function() {
// bind events here
var calculate = function() {
var amount = parseInt($('input[name="full_conference_tickets"]').val() || 0) * 3000
+ parseInt($('input[name="user_conference_tickets"]').val() || 0) * 600;
$('input[name="amount"]').val(amount);
};
$('input[name="full_conference_tickets"]').on('keyup', function() {
calculate();
});
$('input[name="user_conference_tickets"]').on('keyup', function() {
calculate();
});
$('.btn-form-submit').hide();
})

View File

@@ -0,0 +1,89 @@
{
"accept_payment": 1,
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 0,
"allow_incomplete": 0,
"allow_multiple": 1,
"allow_print": 1,
"amount": 0.0,
"amount_based_on_field": 1,
"amount_field": "amount",
"creation": "2017-07-06 16:25:22.393979",
"currency": "INR",
"doc_type": "Conference Participant",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"introduction_text": "",
"is_standard": 1,
"login_required": 1,
"max_attachment_size": 0,
"modified": "2017-07-06 16:25:22.393979",
"modified_by": "Administrator",
"module": "ERPNext Foundation",
"name": "buy-tickets-inr",
"owner": "Administrator",
"payment_button_label": "Buy Now",
"payment_gateway": "",
"published": 1,
"route": "buy-tickets-inr",
"show_sidebar": 1,
"sidebar_items": [],
"success_url": "/buy-tickets-inr",
"title": "Buy Tickets INR",
"web_form_fields": [
{
"fieldname": "participant_name",
"fieldtype": "Data",
"hidden": 0,
"label": "Participant Name",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1
},
{
"fieldname": "full_conference_tickets",
"fieldtype": "Int",
"hidden": 0,
"label": "Full Conference Tickets",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 0
},
{
"fieldname": "user_conference_tickets",
"fieldtype": "Int",
"hidden": 0,
"label": "User Conference Tickets",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 0
},
{
"default": "INR",
"fieldname": "currency",
"fieldtype": "Select",
"hidden": 0,
"label": "Currency",
"max_length": 0,
"max_value": 0,
"options": "INR",
"read_only": 1,
"reqd": 1
},
{
"fieldname": "amount",
"fieldtype": "Data",
"hidden": 0,
"label": "Amount",
"max_length": 0,
"max_value": 0,
"read_only": 1,
"reqd": 1
}
]
}

View File

@@ -0,0 +1,8 @@
from __future__ import unicode_literals
import frappe
def get_context(context):
# do your magic here
context.website_sidebar = 'Conference 2017 Sidebar'
context.no_breadcrumbs = 1

View File

@@ -0,0 +1,18 @@
frappe.ready(function() {
// bind events here
var calculate = function() {
var amount = parseInt($('input[name="full_conference_tickets"]').val() || 0) * 100
+ parseInt($('input[name="user_conference_tickets"]').val() || 0) * 300;
$('input[name="amount"]').val(amount);
$('input[name="amount"]').closest('.form-group').toggleClass('has-error', amount == 0);
};
$('input[name="full_conference_tickets"]').on('keyup', function() {
calculate();
});
$('input[name="user_conference_tickets"]').on('keyup', function() {
calculate();
});
$('.btn-form-submit').hide();
})

View File

@@ -0,0 +1,89 @@
{
"accept_payment": 1,
"allow_comments": 0,
"allow_delete": 0,
"allow_edit": 0,
"allow_incomplete": 0,
"allow_multiple": 1,
"allow_print": 1,
"amount": 0.0,
"amount_based_on_field": 1,
"amount_field": "amount",
"creation": "2017-07-06 16:22:37.464680",
"currency": "USD",
"doc_type": "Conference Participant",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"introduction_text": "",
"is_standard": 1,
"login_required": 1,
"max_attachment_size": 0,
"modified": "2017-07-06 16:24:38.015249",
"modified_by": "Administrator",
"module": "ERPNext Foundation",
"name": "buy-tickets-paypal",
"owner": "Administrator",
"payment_button_label": "Buy Now",
"payment_gateway": "",
"published": 1,
"route": "buy-tickets-paypal",
"show_sidebar": 1,
"sidebar_items": [],
"success_url": "/buy-tickets-paypal",
"title": "Buy Tickets Paypal",
"web_form_fields": [
{
"fieldname": "participant_name",
"fieldtype": "Data",
"hidden": 0,
"label": "Participant Name",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1
},
{
"fieldname": "full_conference_tickets",
"fieldtype": "Int",
"hidden": 0,
"label": "Full Conference Tickets",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 0
},
{
"fieldname": "user_conference_tickets",
"fieldtype": "Int",
"hidden": 0,
"label": "User Conference Tickets",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 0
},
{
"default": "USD",
"fieldname": "currency",
"fieldtype": "Select",
"hidden": 0,
"label": "Currency",
"max_length": 0,
"max_value": 0,
"options": "USD\nINR",
"read_only": 1,
"reqd": 1
},
{
"fieldname": "amount",
"fieldtype": "Data",
"hidden": 0,
"label": "Amount",
"max_length": 0,
"max_value": 0,
"read_only": 1,
"reqd": 1
}
]
}

View File

@@ -0,0 +1,8 @@
from __future__ import unicode_literals
import frappe
def get_context(context):
# do your magic here
context.website_sidebar = 'Conference 2017 Sidebar'
context.no_breadcrumbs = 1

View File

@@ -0,0 +1,3 @@
frappe.ready(function() {
// bind events here
})

View File

@@ -0,0 +1,74 @@
{
"accept_payment": 0,
"allow_comments": 1,
"allow_delete": 0,
"allow_edit": 1,
"allow_incomplete": 0,
"allow_multiple": 1,
"allow_print": 0,
"amount": 0.0,
"amount_based_on_field": 0,
"creation": "2017-07-06 15:01:50.932057",
"doc_type": "Conference Talk Proposal",
"docstatus": 0,
"doctype": "Web Form",
"idx": 0,
"introduction_text": "",
"is_standard": 1,
"login_required": 1,
"max_attachment_size": 0,
"modified": "2017-07-06 15:03:16.289503",
"modified_by": "Administrator",
"module": "ERPNext Foundation",
"name": "conference-talk-proposal",
"owner": "Administrator",
"payment_button_label": "Buy Now",
"published": 1,
"route": "conference-talk-proposal",
"show_sidebar": 1,
"sidebar_items": [],
"success_url": "/conference-talk-proposal",
"title": "Conference Talk Proposal",
"web_form_fields": [
{
"fieldname": "talk_title",
"fieldtype": "Data",
"hidden": 0,
"label": "Talk Title",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1
},
{
"fieldname": "speaker",
"fieldtype": "Data",
"hidden": 0,
"label": "Speaker",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1
},
{
"fieldname": "speaker_bio",
"fieldtype": "Text",
"hidden": 0,
"label": "Speaker Bio",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1
},
{
"fieldname": "talk_summary",
"fieldtype": "Text",
"hidden": 0,
"label": "Talk Summary",
"max_length": 0,
"max_value": 0,
"read_only": 0,
"reqd": 1
}
]
}

View File

@@ -0,0 +1,7 @@
from __future__ import unicode_literals
import frappe
def get_context(context):
# do your magic here
pass

View File

@@ -38,13 +38,15 @@ home_page = "index"
website_context = {
# "navbar_search": 1,
"brand_html": "<img class='navbar-icon' src='/assets/foundation/img/erpnext-foundation-icon.svg' />ERPNext Foundation",
"brand_html": "<img class='navbar-icon' src='/assets/foundation/img/erpnext-logo.jpg' />ERPNext Foundation",
"copyright": "ERPNext Open Source Software Foundation",
"footer_address": "<br>ERPNext is and will always be 100% Open Source",
"top_bar_items": [
{"label": "Service Providers", "url": "/service-providers"},
{"label": "Jobs", "url": "/erpnext-jobs"},
{"label": "Chapters", "url": "/chapters"},
{"label": "Service Providers", "url": "/service-providers", "right": 1},
{"label": "Jobs", "url": "/erpnext-jobs", "right": 1},
{"label": "Chapters", "url": "/chapters", "right": 1},
{"label": "Conference", "url": "/conf/2017", "right": 1},
{"label": "About", "url": "/about", "right": 1},
],
"footer_items": [
{"label": "Foundation", "child_items": [
@@ -89,6 +91,7 @@ website_context = {
portal_menu_items = [
{'label': 'My Profile', 'route': '/service-provider-settings'},
{'label': 'Membership', 'route': '/members/details'},
{'label': 'Conference Talks', 'route': '/conference-talk-proposal'},
{'label': 'Jobs', 'route': '/my-jobs'},
{'label': 'Events', 'route': '/add-event'},
{'label': 'Apps', 'route': '/submit-app'},

View File

@@ -1,8 +1,7 @@
/*@import url('https://fonts.googleapis.com/css?family=Open+Sans');
*/
@import url('https://fonts.googleapis.com/css?family=Rubik');
body {
/* font-family: 'Open Sans', sans-serif;
*/ font-size: 14px;
font-family: 'Rubik', sans-serif;
font-size: 15px;
color: #161c23;
text-rendering: optimizeLegibility !important;
line-height: 1.5em;
@@ -19,12 +18,12 @@ section:last-child {
}
section p, section li, section .media-body {
font-size: 14px;
font-size: 15px;
line-height: 1.6em;
}
.page_content {
font-size: 14px;
font-size: 15px;
line-height: 1.6em;
}
@@ -37,7 +36,7 @@ h1 {
}
h1, h2, h3, h4 {
font-weight: 600;
font-weight: 300;
}
.container {
@@ -55,43 +54,24 @@ h1, h2, h3, h4 {
min-height: 400px;
}
.green-btn, .btn-primary {
text-decoration: none;
color: #fff;
padding: 5px 10px;
background: #458a49;
border-radius: 3px;
border: 0px;
}
.btn-primary, .btn-primary:visited, .btn-primary:active, .btn-primary:focus {
background: #458a49;
.hero {
padding: 90px 0px;
}
.label {
font-weight: normal;
background-color: #d9f7dc;
background-color: #d1d8dd;
font-size: 13px;
padding: 3px 7px;
margin-right: 10px;
}
.green-btn {
font-size: 14px;
}
.green-btn:hover, .btn-primary:hover, .btn-primary:focus {
background: #41af47;
color: #fff;
text-decoration: none;
}
.web-footer {
padding-top: 0px;
}
.footer-bottom-line .text-muted {
font-size: 14px;
font-size: 15px;
color: #161c23 !important;
}
@@ -104,7 +84,7 @@ h1, h2, h3, h4 {
}
.with-border {
border: 1px solid #161c23;
border: 1px solid #d1d8dd;
border-radius: 3px;
padding: 15px;
margin-bottom: 30px;
@@ -114,14 +94,21 @@ h1, h2, h3, h4 {
margin-top: 0px;
}
a {
color: #5E64FF;
}
.clickable a {
color: #161c23;
}
a:hover {
background-color: #fffdaf;
background-color: #fafbfc;
}
.with-border.clickable:hover {
border-color: #458a49;
background-color: #d9f7dc;
background-color: #fffdaf;
border-color: #36414C;
background-color: #fafbfc;
}
@@ -130,8 +117,8 @@ a:hover {
}
.web-footer {
background-color: #d9f7dc;
border-top: 4px solid #458a49;
background-color: #fafbfc;
border-top: 4px solid #d1d8dd;
padding-bottom: 0px;
padding-top: 20px;
}
@@ -143,7 +130,7 @@ a:hover {
}
.navbar-default {
border-bottom: 4px solid #458a49;
border-bottom: 1px solid #d1d8dd;
}
.footer-group-label, .navbar-brand {
@@ -168,6 +155,6 @@ a:hover {
.page-breadcrumbs .breadcrumb {
margin-bottom: 10px;
font-size: 14px;
font-size: 15px;
/*color: #8D99A6;*/
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 392 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -0,0 +1,36 @@
<?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"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

9
foundation/public/js/masonry.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

View File

@@ -0,0 +1,27 @@
.grid {
margin: 0px 20px;
}
.grid-item {
width: 400px;
padding: 5px;
}
.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: 200px;
}

View File

@@ -0,0 +1,155 @@
{% extends "templates/web.html" %}
{% block title %}ERPNext Conference 2017{% endblock %}
{% block script %}
<script src="/assets/foundation/js/masonry.min.js"></script>
<script>
frappe.ready(function() {
console.log('here');
$('.grid').masonry({
// options
itemSelector: '.grid-item',
columnWidth: 400
});
})
</script>
{% endblock %}
{% block page_content %}
<section class='hero text-center' style='margin-top: -30px'>
<div class='text-center'>
<img src='/assets/foundation/img/conf/mumbai.png' style='width: 300px; margin-bottom: 50px;'>
</div>
<!--<h1>Better Together</h1>-->
<h1>ERPNext Conference 2017, Mumbai</h1>
<!--<h1>Better Together</h1>
<p class='lead'>Join the community for a three day sharing of ideas and opportunities.</p>-->
<p><a href="/conf/2017/register" class='btn btn-primary'>Register Now</a></p>
</section>
<hr>
<section>
<h2>Better Together</h2>
<p>Started more than 10 years ago, ERPNext has come a long way as a project and a viable community.
Over the last year we kick started the ERPNext Foundation and the community
is more growing and vibrant than ever.</p>
<p>Working together ultimately makes us better. Life on earth evolved
from single-cell organisms to multi-celled organisms when some
cells started to specialise and co-operate with each other, increasing their
chance of survival and growth. Similary the ERPNext community is now coming togther,
where by specialization and co-operation,
all of us become better.</p>
</section>
<section>
<div class='grid'>
<div class="grid-item"><img src='/assets/foundation/img/conf/img1.jpg'></div>
<div class="grid-item"><img src='/assets/foundation/img/conf/img2.jpg'></div>
<div class="grid-item"><img src='/assets/foundation/img/conf/img8.png'></div>
<div class="grid-item"><img src='/assets/foundation/img/conf/img7.png'></div>
<div class="grid-item"><img src='/assets/foundation/img/conf/img9.png'></div>
<div class="grid-item"><img src='/assets/foundation/img/conf/img3.jpg'></div>
<div class="grid-item"><img src='/assets/foundation/img/conf/img4.png'></div>
<div class="grid-item"><img src='/assets/foundation/img/conf/img5.jpg'></div>
<div class="grid-item"><img src='/assets/foundation/img/conf/img6.jpg'></div>
<div class="grid-item"><img src='/assets/foundation/img/conf/img10.png'></div>
</div>
<div class='clearfix'></div>
</section>
<hr>
<section>
<h2>Agenda</h2>
<p>This conference will be divided in three days. On the first day, we will have a
community code sprint, where developers will from groups to work on specific problems.
On the second and third days we will have talks focussed on developers and end users.
Over this time there will be plenty of opportunity to network with developers,
service providers and users across the world.</p>
<p>
<a class="btn btn-primary" href='/conference-talk-proposal'>Propose A Talk</a>
</p>
</section>
<hr>
<section>
<div class='row'>
<div class="col-sm-12 text-center">
<h2>Sponsored By</h2>
</div>
<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' style='padding-top: 20px'>
<p class='lead'>Your Company</p>
</div>
</div>
<div class="col-sm-4">
<div class='sponsor' >
<a href="http://www.frappe.io/" class="no-decoration" target="_blank">
<img src="/assets/erpnext_com/images/conf-2016/frappe.png" alt="Frappé" />
</a>
</div>
</div>
<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.</p>
<a href="mailto:foundation@erpnext.org" class="btn btn-primary">Become A Sponsor</a>
</div>
</div>
</div>
</section>
<hr>
<section>
<h3>Brought to you by the ERPNext Foundation</h3>
<p>ERPNext Foundation is a not-for-profit company registered with the objective of
building and enhancing ERPNext as an open source project. The ERPNext Foundation is
funded by annual memberships of individuals and companies who use ERPNext or support it.</p>
<p><a href="/members">Learn about Memberships</a></p>
</section>
<hr>
<section>
<div class='row'>
<div class='col-md-7'>
<h4>Venue:</h4>
<p>
The Mysore Association Auditorium,<br>
393, Bhau Daji Road, Matunga (East)<br>
Mumbai – 400 019<br>
Maharashtra<br>
</p>
<br>
<h4>Dates:</h4>
<p>
Oct 10: Developer Code Sprint<br>
Oct 11: Developer Talks<br>
Oct 12: User + Community Talks<br>
</p>
</div>
<div class='col-md-5'>
<h4>Phone:</h4>
<p>+ 91-22-25155667</p>
<br>
<h4>Email:</h4>
<p><a href='mailto:foundation@erpnext.org'>foundation@erpnext.org</a></p>
</div>
</div>
</section>
<hr>
<section>
<p class=text-center>
<a href="/conf/2017/register" class='btn btn-primary'>Register Now</a></p>
</section>
{% endblock %}

View File

@@ -0,0 +1,94 @@
{% extends "templates/web.html" %}
{% block title %}ERPNext Conference 2017 - Tickets and Registration{% endblock %}
{% block page_content %}
<section class='hero text-center' style='margin-top: -80px'>
<h3 class='text-muted'>ERPNext Conference 2017, Mumbai</h3>
<h1>Tickets and Registration</h1>
</section>
<section>
<h3>For International Participants</h3>
<table class='table table-bordered'>
<thead>
<tr>
<td>
Ticket Type
</td>
<td width=20%>
Rate
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
Full Conference (Code Sprint + Dev Talks + User Talks)
<br>Oct 10-12
<br>Includes Lunch
</td>
<td>
$100
</td>
</tr>
<tr>
<td>
User Conference (User + Community Talks)
<br>Oct 12
<br>Includes Lunch
</td>
<td>
$30
</td>
</tr>
</tbody>
</table>
<p>
<a class='btn btn-primary' href='/buy-tickets-paypal'>Pay by PayPal</a>
</p>
</section>
<hr>
<section>
<h3>For Indian Participants</h3>
<table class='table table-bordered'>
<thead>
<tr>
<td>
Ticket Type
</td>
<td width=20%>
Rate
</td>
</tr>
</thead>
<tbody>
<tr>
<td>
Full Conference (Code Sprint + Dev Talks + User Talks)
<br>Oct 10-12
<br>Includes Lunch
</td>
<td>
Rs 3,000
</td>
</tr>
<tr>
<td>
User Conference (User + Community Talks)
<br>Oct 12
<br>Includes Lunch
</td>
<td>
Rs 600
</td>
</tr>
</tbody>
</table>
<p>
<a class='btn btn-primary' href='/buy-tickets-inr'>Pay by Credit Card</a>
</p>
</section>
{% endblock %}

View File

@@ -0,0 +1,3 @@
def get_context(context):
context.show_sidebar = 1
context.website_sidebar = 'Conference 2017 Sidebar'

View File

View File

@@ -0,0 +1,30 @@
{% extends "templates/web.html" %}
{% block title %}Conference Home{% endblock %}
{% from "foundation/templates/includes/macros.html" import media %}
{% block page_content %}
<section>
<h1>ERPNext Conferences</h1>
<p class='lead'>Meet the community at the ERPNext Conferences.</p>
</section>
<section style='max-width: 500px'>
<h3>ERPNext Conference 2017</h3>
<p>
Join us for the annual confereence in Mumbai from October 10-12, 2017.
There will be a code sprints, developer sessions and talks.
<br><br><a href="/conf/2017" class="btn btn-primary">Learn More</a>
</p>
</section>
<section>
<br><br><br>
<h3>Past Conferences</h3>
<ul>
<li><a href="https://erpnext.com/conf/2017-eu">ERPNext Europe Conference 2017, Frankfurt</a></li>
<li><a href="https://erpnext.com/conf/2016">ERPNext Conference 2016, Mumbai</a></li>
<li><a href="https://erpnext.com/conf/2015">ERPNext Conference 2015, Mumbai</a></li>
<li><a href="https://erpnext.com/conf/2014">ERPNext Conference 2014, Mumbai</a></li>
</ul>
</section>
{% endblock %}

View File

@@ -3,23 +3,28 @@
{% block title %}ERPNext Foundation{% endblock %}
{% block page_content %}
<div class='row-full'>
<!--<div class='row-full'>
<img src="/assets/foundation/img/community.png" class='img-responsive'>
</div>
<section>
<h1>ERPNext Foundation</h1>
<p class='lead'>Free and Open Source Business Software for Millions of Entrepreneurs Worldwide</p>
</div>-->
<section class='hero text-center'>
<div class='text-center'>
<img src='/assets/foundation/img/airplane.jpg' style='width: 300px;
margin-bottom: 20px;'>
</div>
<h1>ERP for Everybody</h1>
<p class='lead'>The ERPNext Foundation helps build world class ERP software for everyone</p>
</section>
<div class='with-border'>
<h3>What is ERPNext?</h3>
<p>ERPNext is a modern, fully featured open source Enterprise Resource Planning (ERP) system that is designed for small and medium sized businesses that includes modules to help you manage Financial Accounting, Sales and CRM, Billing, Manufacturing, Inventory, HR and Payroll, Projects, E-Commerce and much more.</p>
<p><a href="/resources" class="button green-btn">Start using ERPNext</a></p>
<p><a href="/resources" class="btn btn-primary">Start using ERPNext</a></p>
</div>
<div class='with-border'>
<h3>What is the ERPNext Foundation?</h3>
<p>ERPNext Foundation is a not-for-profit company registered with the objective of building and enhancing ERPNext as an open source project. The ERPNext Foundation is funded by annual memberships of individuals and companies who use ERPNext or support it.</p>
<p><a href="/members" class="button green-btn">Learn about Memberships</a></p>
<p><a href="/members" class="btn btn-primary">Learn about Memberships</a></p>
</div>
{% endblock %}

View File

@@ -7,7 +7,7 @@
{% if frappe.session.user=='Guest' %}
<div class='with-border'>
<p>You must first sign up and login to become a member</p>
<p><a href="/login" class='button green-btn'>Login</a></p>
<p><a href="/login" class=''>Login</a></p>
</div>
{% else %}

View File

@@ -30,7 +30,7 @@
"medal.png") }}
</section>
<section>
<p><a href="/members/details" class="button green-btn">Become A Member</a></p>
<p><a href="/members/details" class="btn btn-primary">Become A Member</a></p>
<p><a href="/service-providers">See List of All Members</a></p>
</section>
{% endblock %}