Giter VIP home page Giter VIP logo

django-openinghours's Introduction

#Django Opening Hours

A reusable Django app to work with opening hours that comes with the following features:

  • Multiple company support.
  • Able to visualise if a company is currently open or not ("Yes, we're open!", "Sorry, we're closed.").
  • Able to list the opening hours, eg. MON 9h00 to 17h00, etc. for one or more companies.
  • Posible to define opening hours that pass midnight.
  • Posible to define closing hours, eg. for holiday.

##Installation

To get the latest stable release from PyPi

pip install django-openinghours

To get the latest commit from GitHub

pip install -e git+git://github.com/arteria.ch/django-openinghours.git#egg=openinghours-master

TODO: Describe further installation steps (edit / remove the examples below):

Add openinghours to your INSTALLED_APPS

INSTALLED_APPS = (
    ...,
    'openinghours',
)

Add the openinghours URLs to your urls.py

urlpatterns = patterns('',
    ...
    url(r'^openinghours/', include('openinghours.urls')),
)

Before your tags/filters are available in your templates, load them by using

{% load openinghours_tags %}

Don't forget to create your tables

./manage.py syncdb openinghours

Don't forget to set 'TIME_ZONE' in your project settings.

Usage

Setup a company

This app supports multiple companies with multiple opening and closing hours.

Setting up opening hours

This is used to describe when sth. (eg. the shop) is open. This is done on a daily base (per day) by defining one or more start and end times of opening slots.

Optionally, setting up the closing hour rules

This is used to describe/define when sth. (eg. the shop) is closed (eg. due holiday, absences, sickness or whatever). Note that the closing hours overrules the opening hours!

In the index.html you will find a lot of examples how to use this app.

Remarks

  • Opening hours is build using datetime's isoweekday. This means Monday is represented by 1 and Sunday by 7.

History and Change Log

Latest/Development Version

Please check the latest commits for development version.

0.0.27

  • Adding django-threadlocals allows to do live testing of the rules defined.
  • Bugfix if closed on Sunday and open lated during the day. Next opening showed Monday.

0.0.8 .. 0.0.26

  • Added template tag isoDayToWeekday, returns 'today' in case of today.
  • Added template tag toWeekday to handle next weeks 'today'.
  • Partial closing/opening hours with overlapping support
  • Added template tag getCompanyClosingRuleForNow.
  • Bugfix

0.0.7

  • Bugfix

0.0.6

  • Added attribut access in template tags.

0.0.5

  • Returning the OpeningHours when company is open (instead of True).

0.0.4

  • Added some template tags: getCompanyNextOpeningHour and hasCompanyClosingRuleForNow.

0.0.3

  • "Next time opened" function returning when (eg.) shop is open for the next time

0.0.2

  • Handle midnight, allow hours like MON 21h00 to 01h00. Eg. used for Night Clubs, etc.
  • Implemented closing hours.

0.0.1

  • Inital version

TODOs and planned Features

Priority 1 = high/must have, 2 = and 3 = low/nice to have

  • (1) Migrate to Django's timezone
  • (1) Add tests
  • (2) Docus for live testing of defined rules
  • (3) Shortcut for everyday (1-7) = 0 in WEEKDAYS, or 8 = monday to friday, etc.
  • (3) Global closing hours to overrule all companies. Use cases: close a complete shopping center

Contribute

Just send us your pull request. File and issue. Use it. Talk about it. Thanks. :)

django-openinghours's People

Contributors

bitdeli-chef avatar philippeowagner avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.