Skip to content

Commit

Permalink
Build the initial code
Browse files Browse the repository at this point in the history
  • Loading branch information
Vijiyan R committed Aug 13, 2024
1 parent 96f159e commit 84a1610
Show file tree
Hide file tree
Showing 28 changed files with 660 additions and 0 deletions.
Empty file.
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Copyright (c) 2024, M Venkatesh and contributors
// For license information, please see license.txt

// frappe.ui.form.on("Article", {
// refresh(frm) {

// },
// });
125 changes: 125 additions & 0 deletions library_management/library_management/doctype/article/article.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
{
"actions": [],
"allow_guest_to_view": 1,
"allow_import": 1,
"allow_rename": 1,
"creation": "2024-08-13 20:52:22.045205",
"doctype": "DocType",
"engine": "InnoDB",
"field_order": [
"article_name",
"image",
"author",
"description",
"column_break_lgnl",
"isbn",
"status",
"publisher",
"route",
"published"
],
"fields": [
{
"fieldname": "article_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "Article Name",
"reqd": 1
},
{
"fieldname": "image",
"fieldtype": "Attach Image",
"label": "Image "
},
{
"fieldname": "author",
"fieldtype": "Data",
"label": "Author "
},
{
"fieldname": "description",
"fieldtype": "Text Editor",
"label": "Description "
},
{
"fieldname": "column_break_lgnl",
"fieldtype": "Column Break"
},
{
"fieldname": "isbn",
"fieldtype": "Data",
"label": "ISBN "
},
{
"fieldname": "status",
"fieldtype": "Select",
"label": "Status ",
"options": "Issued\nAvailable"
},
{
"fieldname": "publisher",
"fieldtype": "Data",
"label": "Publisher "
},
{
"fieldname": "route",
"fieldtype": "Data",
"label": "Route "
},
{
"fieldname": "published",
"fieldtype": "Data",
"label": "Published "
}
],
"has_web_view": 1,
"image_field": "image",
"index_web_pages_for_search": 1,
"links": [],
"modified": "2024-08-13 22:58:49.016692",
"modified_by": "Administrator",
"module": "Library Management",
"name": "Article",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
},
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Librarian",
"share": 1,
"write": 1
},
{
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "Library Member",
"share": 1
}
],
"route": "articles",
"show_title_field_in_link": 1,
"sort_field": "modified",
"sort_order": "DESC",
"states": [],
"title_field": "article_name"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2024, M Venkatesh and contributors
# For license information, please see license.txt

# import frappe
from frappe.website.website_generator import WebsiteGenerator


class Article(WebsiteGenerator):
pass
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{% extends "templates/web.html" %}

{% block page_content %}

<div class="py-20 row">
<div class="col-sm-2">
<img alt="{{ title }}" src="{{ image }}"/>
</div>
<div class="col">
<h1>{{ title }}</h1>
<p class="lead">By {{ author }}</p>
<div>

{%- if status == 'Available' -%}

<span class="badge badge-success">Available</span>
{%- elif status == 'Issued' -%}

<span class="badge badge-primary">Issued</span>

{%- endif -%}

</div>
<div class="mt-4">
<div>Publisher: <strong>{{ publisher }}</strong></div>
<div>ISBN: <strong>{{ isbn }}</strong></div>
</div>
<p>{{ description }}</p>
</div>
</div>

{% endblock %}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<div class="py-8 row">
<div class="col-sm-1">
<img alt="{{ doc.name }}" src="{{ doc.image }}"/>
</div>
<div class="col">
<a class="font-size-lg" href="{{ doc.route }}">{{ doc.name }}</a>
<p class="text-muted">By {{ doc.author }}</p>
</div>
</div>

Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2024, M Venkatesh and Contributors
# See license.txt

# import frappe
from frappe.tests.utils import FrappeTestCase


class TestArticle(FrappeTestCase):
pass
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
frappe.ui.form.on('Library Member', {
refresh: function(frm) {
frm.add_custom_button('Create Membership', () => {
frappe.new_doc('Library Membership', {
library_member: frm.doc.name
})
})
frm.add_custom_button('Create Transaction', () => {
frappe.new_doc('Library Transaction', {
library_member: frm.doc.name
})
})
}
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
{
"actions": [],
"allow_rename": 1,
"autoname": "field:email_address",
"creation": "2024-08-13 21:59:27.090934",
"doctype": "DocType",
"engine": "InnoDB",
"field_order": [
"first_name",
"email_address",
"full_name",
"column_break_mywc",
"last_name",
"phone"
],
"fields": [
{
"fieldname": "first_name",
"fieldtype": "Data",
"in_list_view": 1,
"label": "First Name",
"reqd": 1
},
{
"fieldname": "last_name",
"fieldtype": "Data",
"label": "Last Name"
},
{
"fieldname": "full_name",
"fieldtype": "Data",
"label": "Full Name",
"read_only": 1
},
{
"fieldname": "email_address",
"fieldtype": "Data",
"label": "Email Address ",
"reqd": 1,
"unique": 1
},
{
"fieldname": "phone",
"fieldtype": "Data",
"label": "Phone "
},
{
"fieldname": "column_break_mywc",
"fieldtype": "Column Break"
}
],
"index_web_pages_for_search": 1,
"links": [],
"modified": "2024-08-13 22:28:39.045352",
"modified_by": "Administrator",
"module": "Library Management",
"name": "Library Member",
"naming_rule": "By fieldname",
"owner": "Administrator",
"permissions": [
{
"create": 1,
"delete": 1,
"email": 1,
"export": 1,
"print": 1,
"read": 1,
"report": 1,
"role": "System Manager",
"share": 1,
"write": 1
}
],
"show_title_field_in_link": 1,
"sort_field": "modified",
"sort_order": "DESC",
"states": [],
"title_field": "full_name"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright (c) 2024, M Venkatesh and contributors
# For license information, please see license.txt

# import frappe
from frappe.model.document import Document # type: ignore


class LibraryMember(Document):
def before_save(self):
self.full_name = f"{self.first_name} {self.last_name}"
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Copyright (c) 2024, M Venkatesh and Contributors
# See license.txt

# import frappe
from frappe.tests.utils import FrappeTestCase


class TestLibraryMember(FrappeTestCase):
pass
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
// Copyright (c) 2024, M Venkatesh and contributors
// For license information, please see license.txt

// frappe.ui.form.on("Library Membership", {
// refresh(frm) {

// },
// });
Loading

0 comments on commit 84a1610

Please sign in to comment.